Ethereum’s Byzantium Hard Fork Passed by Smoothly: At Least, For Now
On the morning of October 16, Ethereum launched the first Metropolis hard fork; Byzantium. Everything seems to be all right; all clients are updated, the old chain starved, and there are no bugs in sight.
And it is possible, while Bitcoin is so afraid of splitting the chain with a hard fork, that it preemptively split the chain and is about experience another division, the Ethereum Community celebrates another upgrade via a hard fork in cozy unity. Byzantium, the first of a pair of hard forks which will introduce the Metropolis era, had been activated with block 4,370,000, which occurred 07:22 mid-European time.
Every full peer of the Ethereum peer-to-peer network, i.e., everybody who runs a node, has to install an update to stay on the valid chain. The updates are Geth 1.7.2, Parity 1.7.6 and Harmony 1.2. Light wallets like Jaxx, Metamask, MyEthereumWallet or Exodus do not need to update, as well as hardware wallets like Trezor or Ledger.
According to the fork monitor, everything has passed by smoothly. There has been no chain split, the old chain simply starved to death. Pre-fork client geth 1.6.7 is stuck at block 4,399,999. No miner mined a block on the old chain, despite the fact that the fork reduced the block reward from five to three ether. However, due to the difficulty bomb, it makes no sense to continue mining the old chain, as the difficulty is significantly higher and will get even higher with time.
However, the fork did not pass by without some stumbling. Just a few days before block 3,470,000 developers found bugs in the two most important Ethereum implementations, Geth and Parity. On October 13, the Parity developers released a new version, 1.7.6, which fixed a “critical consensus relevant” bug, which means it could have made the chains to split.
According to the community, it was an obscure bug, which only happens when you use Ethereum’s virtual machine in a strange way not supported by current clients. The bug found in Geth was not consensus critical, but enabled an attacker to launch a DoS attack on Geth nodes by abusing an op code introduced by Byzantium. The bug was fixed with version 1.7.2.
Due to these bugs, there has been a discussion if the hard fork should be postponed for two weeks to conduct more tests. However, since the clients have already triggered the fork, this suggestion was rejected by the Ethereum developers. The real, final test of this massive upgrade will and can only be made on the live net, which gives hackers massive financial incentives to exploit the tiniest weakness.
The Byzantium fork changes mostly technical parameters, whose relevance is hard to grasp for non-specialists. Here you find an overview of the changes brought about by the Metropolis hard fork. Most striking might be that the virtual machine will be able to process a further cryptographic algorithm, which will enable zk-SNARK zero-knowledge proofs, as we know from Zcash. This doesn’t mean that you will soon be able to transact ether completely anonymous, like it is sometimes suggested, but it will enable you to hide the content of a smart contract, which might indirectly enable a significant improvement of financial privacy on Ethereum.
The second part of the Metropolis forks, Constantinople, does not currently have a fixed date, but can be expected sometime in 2018. It should deliver the first groundwork for the Casper Proof of Stake contract as well as for sharding.
Most Ethereum developers observed and celebrated the hard fork from Waterloo, Canada. Here, the ETHWaterloo hackathon took place. Around 400 Ethereum developers met, the teams had 36 hours to develop a dapp or an app for Ethereum; the projects have been judged by a jury consisting without others of Vitalik Buterin and representatives from Coinbase, Shapeshift, Consensys and Slock.it. More about the winners can be found here.