A bug found in the latest release may leave the highly-anticipated Ethereum network merge update uncertain. The bug has since been fixed – but it leaves question marks over any other potential oversights.
Ethereum software developer Péter Szilágyi announced on Twitter that a bug was discovered while working on the ambitious project.
Devs found a regression in the latest release towards the merge that causes a corrupted state. Szilágyi suspects that it was due to a pull request (PR) that had merged towards a new storage model, or online pruner.
Aaand our latest release is borked. 😕 Geth 1.10.22 contains a regression that causes the trie/state to go bad. Most probably it's one of the PRs we've merged towards the new storage model / online pruner. Trying to find and fix the issue.
— Péter Szilágyi (karalabe.eth) (@peter_szilagyi) August 23, 2022
Finding the Geth v1.10.22 Ethereum Merge Bug
If left, the bug can harm the running node with the faulty Geth v1.10.22 – which can result in further loss of data or an entire database corruption. Szilágyi adds that in the faulty release, data loss will occur upon shutdown, hence prior tests not being able to detect the bug.
Szilágyi has apologised for the oversight, while promising to find ways to improve system stress tests. He also thanked individuals who have contributed to spotting the bug.
Hmmm. We might have found the issue, which if true, unfortuantely means there's a high probability that anyone running the release will have their db fried :/
The "fun" part about the issue is that data loss happens only on shutdown so none of our tests/benchmarks caught it. https://t.co/sYMap2If3u
— Péter Szilágyi (karalabe.eth) (@peter_szilagyi) August 23, 2022
In positive news, the state corruption was patched shortly after. A hotfix release was soon uploaded on GitHub by Go Ethereum, titled Geth v1.10.23, Sentry Omega. Go Ethereum has stressed to developers that if they have already updated to Geth 1.10.22, they should roll back their chain and rerun progress made within the past days after the faulty release.
We've just released Geth v1.10.23, a hotfix to patch a state corruption in 1.10.22.
If you've already updated to .22, you will have to roll back your chain and rerun the last 2 days to ensure everything's ok. More in the release notes.
Sorry about this!https://t.co/bkvAmw09KZ
— Go Ethereum (@go_ethereum) August 24, 2022
The Ethereum Foundation has since quadrupled bug bounties up to $1 million for “critical risk” bugs in order to future-proof for further errors. The increased rewards for all levels of bugs will be effective between now and September 8, 2022, and will be rewarded to white hat hackers who discover any vulnerabilities in the meantime.
The Upcoming Ethereum Merge
The Merge refers to the highly-anticipated upgrade of the Ethereum network which includes making the network more environmentally sustainable, in addition to hopefully standardising interest rates in Web3. However, the Merge will not reduce the high transaction (gas) fees, which Ethereum is famously known for.
Transitioning from Ethereum’s current state as a Proof-of-Work (PoW) blockchain to a Proof-of-Stake (PoS) blockchain would require the merging of two blockchains: the “mainnet” – the main network, and a “testnet”, networks that are used for developing blockchain technology. The beacon chain testnet, created in December 2020, will be used to merge with the mainnet this coming September.
In PoS networks, node operators hold large amounts of ETH within the network, and earn rewards for validating transactions performed on the network. However, those keen to mine will be faced with a choice to stick with mining with a possible PoW Ethereum hard fork, or to move on to staking.
The merge is anticipated to activate on September 6, and will be completed between September 10 and 20. It was previously slated to be completed on September 15 or 16.