Privacy-oriented cryptocurrency zcash is about to undergo its first-ever hard fork.
Called “Overwinter,” the update requires all users of the nearly $800 million blockchain to switch to a new software. But while these kinds of system-wide changes can be high-risk – if some users reject the change, it can split the blockchain and create a rival cryptocurrency – zcash developers are saying there might not be anything to worry about with this particular update.
Set to activate at block number 347,500, which according to current block times, will happen early on Tuesday morning, Overwinter is being described as a low-impact intermediary step, one that prepares the network for another upgrade in October that has broad support.
That’s because the next hard fork upgrade, called Sapling, is all about eliminating the weight of the protocol’s private transaction types so that zcash can scale to more users. Essentially, there isn’t expected to be much dissent as Overwinter aims to improve on a core attribute of the code already.
According to the zcash website, a total of 12 exchanges, mining pools and startups have come forward to support Overwinter, while further parties – MinerGate, Bitfly and Huobi – have publicized support on Twitter.
As such, Simon Liu, an engineer at zcash, said he does not anticipate risks in the rollout.
“There is unanimous support from all parties,” Liu told CoinDesk.
And the cryptocurrency’s creator, Zooko Wilcox, echoed this confidence in interview with CoinDesk.
“We’ve been working with a whole bunch of industry partners and they are all on board with the rollout program,” Wilcox said, adding:
“Basically the entire company almost is dedicated to executing [the upgrade] safely and smoothly in order to increase security for all users.”
That said, the run-up to the hard fork hasn’t been without its drama.
D. Jane Mercer, the developer of the zcash Windows wallet, WinZEC, threatened to stop contributing to the wallet’s code and a chain split on June 20 if he didn’t get further funding to support his work. However, the situation was resolved quickly, with anonymous donations pouring into the developer.
At the same time, disenfranchisement within the zcash mining community, still grappling with the introduction of an ASIC for zcash mining has continued to build.
However, developers are confident that this is unlikely to impact Overwinter given the nature of the upgrade.
Simple changes
One of the reasons for zcash developer’s optimism about the Overwinter hard fork is that those backing the protocol have taken various steps to make sure everything goes smoothly.
For example, the upgrade is low on features, said zcash engineer Jack Grigg. Primarily, it’s designed to prepare the network for its October upgrade, Sapling, by adding features that protect the network during system-wide upgrades.
Aside from that, Grigg said, the only code changes are useful optimizations – such as a new form of transaction expiry, that cancels payments if they aren’t processed after a certain period of time, and the removal of a hashing bug that makes certain transactions heavier.
Speaking of the latter, Grigg said, “There is good incentive for the network to support it in order to improve performance for transparent transactions with many inputs,” adding that because of that the risk of a contentious chain split is low.
That said, there are still inherent risks involved.
Because several features have been added that look to protect users from any harm that can come from future chain splits – like so-called “replay protection” – those features don’t exist now and so could cause problems should a chain split occur during Overwinter.
Speaking to this, Grigg told CoinDesk:
The Overwinter network upgrade is specifically intended to make future network upgrades safer, so by definition there is more risk during its rollout than for future network upgrades, since some of the features it introduces can’t be leveraged for itself.”
Soft-coded safety
Still, there are additional features that developers can fall back on to minimize the risk of the upgrade.
For example, one hour before the Overwinter is set to activate, a mechanism called “safe mode” will be relayed across all nodes running pre-Overwinter software, so that no transactions can occur on the legacy chain- unless that mechanism has been actively disabled on individual nodes.
According to Grigg, this feature protects users from accidentally losing money by transacting on old versions of the software.
“The use of safe mode for old releases is specifically about protecting users who for some reason or another didn’t realize there was an upgrade coming,” Grigg said.
Zcash code also contains a feature, named auto-senescence or “EOS halt,” that disables older software iterations after a period of 16 weeks.
While formerly optional, zcash developers recently opted to remove the ability to disable auto-senescence code, which according to developer Jason Davies, ensures zcash users keep up with new releases.
“Permanent use of EOS is intended to simplify the relationship between zcash and its users,” Davies said, “The default state of the zcash client is to require that you keep your software up-to-date.”
But these risk-mitigations aren’t the only strategies the zcash team has deployed to make sure the Overwinter upgrade doesn’t go awry. Wilcox said that Overwinter has been extensively tested – indeed, a third-party software review was done in March and failed to show any vulnerabilities within the upgrade.
Wilcox told CoinDesk:
I want us to demonstrate to the world that we can execute difficult, cutting-edge innovations and we can do so reliably and without disrupting or endangering the growing ecosystem.”