Earlier this year, the Rayonism Hackathon started to prototype the architecture for Ethereum’s transition to proof-of-stake. The transition, often called The Merge, will retain the existing beacon chain (eth2) and execution layer clients (eth1), and “merge” the two chains by having the beacon chain drive the consensus of the execution layer. This approach is the latest in a series of iterations of the Ethereum roadmap (more on that). here).
Although Rayonism had proven itself to be a solid architecture, there were still several things that needed to be designed, implemented, and tested, including the actual transition from Proof of Work (PoW) to Proof of Stake (PoS). To do this, the customer teams met face to face last week (like the Eth2 interoperability from 2019) for a workshop called Amphora 🏺.
Here’s a look at the main things that were accomplished during the workshop and the journey to The Merge.
Amphora Milestones
The goal of the event was to get customer teams from the execution and consensus layers to resolve outstanding issues in the specification and achieve a set of development milestones. Each step brought customers closer to a fully functioning fusion devnet that moved from PoW to PoS. Representatives from Besu, Erigon, EthereumJS, Geth, Nethermind, Nimbus, Lighthouse, Lodestar, Quilt and Teku attended the workshop in person. The Prysm team, as well as several members of the aforementioned teams, participated remotely.
THE Amphora Milestones aimed to first get clients to conform to specifications, then gradually add more complexity, and finally increase the number of other clients with whom they could interact.
The first stage, M1, only required customers to implement the merge specification. It was completed by most of the teams before the workshop even started! To help customers validate their implementation, several – essay – sequels were provided.
Then, stages M2, M3 and M4 led the client teams to set up devnets with increasing technical complexity and diversity of nodes. M2 asked the execution layer (EL) and consensus layer (CL) teams to team up one by one and launch a post-merge devnet. This ensured that both layers could communicate successfully through the Engine API in a PoS context.
M3 is where the Amphora workshop took a step beyond Rayonism: customers set up ephemeral development networks that spanned the PoW to PoS transition.
The transition is based on PoW difficulty: once a block’s difficulty is equal to or greater than a specific value, called TERMINAL_TOTAL_DIFFICULTYOr TTDit is considered the last PoW block. The execution layer then starts listening to the PoS consensus layer to detect new blocks. To ensure each team’s implementation was robust, EL teams had to connect to two CL clients and vice-versa to successfully complete M3.
M4 was the real target of the event: getting multiple EL&CL clients on a devnet that went through the entire PoW to PoS transition. In other words, while M3 was about one-to-one devnets, M4 was about many-to-many.
We reached this goal for a subset of teams before the end of the workshop, so we then reached our stretch goal: M5.
Sustainable artifacts
This important step aimed to transform Amphora from a short-lived event into a longer-lasting infrastructure that the community could use. M5 required customer teams to start a devnet that would not only work throughout the transition with all customer combinations, but would persist beyond the Amphora event.
On the last day of the workshop, a few minutes before the final dinner, M5 was hit: a network of 10,000 validators spread across 100 nodes and several client implementations launched as part of PoW reached the TERMINAL_TOTAL_DIFFICULTYI switched to PoS and successfully finalized the channel 🎉!
The M5 devnet successfully finalizes the post-merge, a few minutes before the workshop closing dinner. Photo by Ben Edgington.
Beyond the amphora
The success of Amphora gives tremendous momentum to The Merge. Customer teams now have a clear list of tasks they need to work on them, and enough progress has been made to start reaching a broader segment of the Ethereum community.
Yesterday, a more stable version of the M5 Amphora devnet, Pithoswas launched. Now that this network is active (explorer here), expect public calls exploring how developer tools and other Ethereum core infrastructure can best prepare for the PoW to PoS transition.
Customer teams and researchers will continue to iterate on The Merge specification to resolve issues identified during Amphora and respond to community feedback. Within a few weeks, the specification should be finalized and, shortly after, a new stable testnet will be available.
THANKS
The work accomplished during Amphora exceeded all our expectations. For this, we would like to thank the client teams and researchers, without whom no specifications would have been written or implemented.
Furthermore, thanks to ConsenSys, Chain safe And Ben Edgington for their excellent coverage of the workshop.