Ethereum pass its first-ever ‘shadow fork’ and prepare for Merge

Ethereum pass its first-ever ‘shadow fork’ and prepare for Merge

Apr 13, 2022
Read in 2 mins

Ethereum's transition from proof of work to proof of stake could now take place in the coming months.

Ethereum developers successfully implemented the network's first shadow fork, designed to test developers' assumptions on existing testnets and the mainnet, stepping another key milestone towards the “most complicated upgrade” in Ethereum’s history.

Although several bugs and problems were found on Nethermind (an Ethereum-based software systems provider) and Hyperledger Besu (an open-source Java-based Ethereum client), the mainnet shadow fork was "a huge success", Ethereum developer Marius van der Wijden, who came up with the idea for the shadow fork, told on Twitter. According to Ethereum Foundation developer Parithosh Jayanthi, the aim of the Kiln merge testnet “was to allow the community to practice running their nodes, deploying contracts, testing infrastructure, etc.”. He also described the shadow fork as a way to "stress test our assumptions around syncing and state growth" and understand how seamless the shift to a PoS consensus will be.

The shadow fork went live on Monday, and its outcome will be critical in determining when the current Ethereum mainnet will "merge" with the beacon chain proof-of-stake (PoS) system. This will mark the end of proof-of-work for Ethereum, and the full transition to proof-of-stake.

Ethereum took another key step towards the so-called “Merge” in mid-March by releasing the Kiln testnet merge – when a PoW execution layer merged with a PoS Beacon Chain – described as the last public testnet before moving on to the PoS mining algorithm. However, the merger is scheduled for the second quarter of the year. As revealed by Tim Beiko, one of the lead developers on the project, "it won't be June, but likely in the few months after. No firm date yet, but we're definitely in the final chapter of PoW on Ethereum" he said in a tweet.

cool.svg cool_white.svg COOL!
notbad.svg notbad_white.svg NOT BAD!
notcool.svg notcool_white.svg NOT COOL!