Merge Testing: What Is It and Why Does It Matter?
Welcome to this week’s guest writer, CoinDesk reporter Eli Tan, who is filling in for Sam Kessler. Follow him on Twitter @elitanjourno.
As the Ethereum network inches toward “the Merge” and transitions from a proof-of-work (PoW) system to proof-of-stake (PoS), developers are using new testing infrastructure to assess network mechanics and client readiness.
The first major test, known as a “shadow fork,” came in April – we covered the event in depth in a previous edition of the newsletter, but the gist is that the test went well and has been repeated two times since.
These types of tests are crucial to the advancement of the network because they allow developers to find bugs in the code that could be otherwise missed using the devnets.
In the April 11 shadow fork, for example, developers uncovered a bug having to do with gas limits being artificially raised by miners.
The second shadow fork on April 23 was even more promising, with every one of the network’s client combinations surviving the transition and staying in sync for the first time.
The most recent shadow fork took place on May 5 and included new tests on syncing through the Merge, which revealed a few small but fixable points of improvement.
Like many aspects of the Ethereum network, merge testing is a collaborative effort, and a crucially important one at that. Developers are encouraged to log their testing results on a shared leaderboard.
Staging the Merge
Hive tests
Another form of merge testing is using Hive tests. Hive is the integration testing platform for the current Ethereum network’s Execution Layer (EL), and is used to test the new engine APIs.
Like the network itself, Hive tests are constantly evolving. Most recently, testing teams have added the ability for Hive tests to mock the new proof-of-stake Ethereum Consensus Layer (CL) behavior. This new integration will allow it to run a simulator for the transition from PoW to PoS and see how both the CL and EL will behave.
Read more: ‘Ethereum’ vs ‘Eth 2’: What’s in a Name?
In a May 4 merge testing update, it was announced that Kurtosis had been added to Ethereum’s testing infrastructure.
Kurtosis
The main function of Kurtosis is that it helps spin up staging networks, which are testing environments to isolate specific aspects of the Merge.
According to developers, these staging environments will allow them to monitor various network health metrics during stress testing under simulated harsher network conditions.
- Eli Tan