Ethereum’s ‘Unannounced Hard Fork’ Was Trying to Prevent the Very Disruption It Caused – CoindeskNovember 11, 2020
- The bulk of Ethereum’s DeFi ecosystem went dark earlier today after a latent bug in the Ethereum code split the network’s transaction history in two.
- The split resulted from a code change that was surreptitiously inserted into a previous Geth update; some Ethereum node operators ignored the update, which ironically was meant to prevent the very split that occurred.
- The nodes that did not upgrade were under the impression the update was minor and did not know it included a change to Ethereum’s consensus design.
- A post-mortem released today by Geth indicates that the bug was intentionally triggered. The case is perhaps Ethereum’s greatest challenge since the 2016 DAO fork, and it raises questions about Ethereum’s oft-touted decentralization and the effectiveness of its developer coordination going into Ethereum 2.0.
At first, it was an apparent issue with Infura, the ConsenSys-run servers that keep a majority of decentralized finance (DeFi) applications synced to the Ethereum network.
Infura went down around 8:00 UTC Wednesday, and with it, some of Ethereum’s most popular applications like Metamask, MakerDAO, Uniswap, Compound and MyCrypto, among others. Shortly after, Binance halted Ethereum trading after noticing conflicting transactions on its Ethereum node. As other exchanges suspended trading as well, the real issue became clear: A bug in the Go Ethereum (Geth) client, whose code underpins 80% of Ethereum’s applications, had split the Ethereum blockchain in two.
The two conflicting transaction histories meant Etheruem users were temporarily interacting with different versions