The Rayonism Hackathon started earlier this year to prototype the architecture for the transition from Ethereum to the Proof of Stake. The transition, often referred to as the merge, will keep the existing clients of the beacon chain (eth2) and execution layer (eth1) and “merge” both chains, with the beacon chain driving the consensus of the execution layer. This approach is the latest in a series of iterations of the Ethereum roadmap (more on this here).
While Rayonism proved this was a solid architecture, there were still some things to design, implement, and test, including the actual transition from Proof of Work (PoW) to Proof of Stake (PoS). To this end, customer teams met in person last week (analogous to the Eth2 Interop from 2019) for a workshop called Amphora 🏺.
Here is an overview of the main things that were achieved during the workshop and how to get from here to The Merge.
The purpose of the event was to get the execution and consensus level customer teams ironing out open issues in the specification and reaching a number of development milestones. Each milestone brought customers closer to a fully functional merge devnet that transitioned from PoW to PoS. Representatives from Besu, Erigon, EthereumJS, Geth, Nethermind, Nimbus, Lighthouse, Lodestar, Quilt and Teku personally attended the workshop. The Prysm team participated remotely along with several members of the above teams.
The Amphora milestones were aimed at first getting customers to meet the specification, then gradually increasing the complexity, and finally increasing the number of other customers they could work with.
The first milestone, M1, only required that customers implement the merge specification. It was completed by most of the teams before the workshop even started! To help customers validate their implementation, several test suites have been provided.
Then the milestones M2, M3 and M4 allowed customer teams to build Devnets with increasing technical complexity and variety of nodes. M2 had execution layer (EL) and consensus layer (CL) teams one-on-one and started a post-merge Devnet. This ensured that both layers could communicate successfully via the engine API in a PoS context.
At M3, the amphora workshop went one step beyond rayonism: customers set up emphemere devnets that went through the transition from PoW to PoS.
The transition is based on the PoW difficulty: once the difficulty of a block reaches or exceeds a certain value called TERMINAL_TOTAL_DIFFICULTY or TTD, it is considered the last PoW block. The execution layer then starts listening to the PoS consensus layer for new blocks. To ensure that each team’s implementation was robust, EL teams had to connect to two CL clients and vice versa in order to pass through M3.
M4 was the actual goal of the event: to bring several EL and CL clients into a Devnet that went through the entire transition from PoW to PoS. In other words, while M3 was about one-to-one devnets, M4 was about many-to-many.
We achieved this for some of the teams before the end of the workshop, so we pursued our stretch goal: M5.
This milestone was aimed at transforming Amphora from a short-lived event into long-lived infrastructure that the community could take advantage of. M5 required customer teams to start a devnet that not only goes through the entire transition with all client combinations, but also persists beyond the amphora event.
On the last day of the workshop, a few minutes before the last dinner was served, M5 was hit: A network of 10,000 validators on 100 nodes and several client implementations that were started under PoW reached the TERMINAL_TOTAL_DIFFICULTY, switched to the PoS and closed the chain successful from 🎉!
The M5 Devnet successfully completes the post-merge phase, just a few minutes before the workshop’s final dinner. Photo by Ben Edgington.
The success of Amphora gives The Merge a big boost. Client teams now have a clear list of tasks to work towards and enough progress has been made to reach a larger segment of the Ethereum community.
A more stable version of the M5 Amphora Devnet, Pithos, was released yesterday. Now that this network is live (Explorer here) await public calls exploring how Ethereum’s developer tools and other core infrastructures can best prepare for the PoW to PoS transition.
Customer teams and researchers will continue to refine the Merge Specification to resolve issues identified during Amphora and to respond to feedback from the community. The specification should be finalized within a few weeks and a new stable test network made available shortly afterwards.
Thanks very much
The work done during the amphora exceeded all of our expectations. For this we would like to thank the customer teams and researchers, without whom none of the specifications would have been written or implemented.
I would also like to thank ConsenSys, Chainsafe, and Ben Edgington for their excellent coverage of the workshop.