The web3 world is watching as Ethereum, the largest smart contract-enabled blockchain, prepares for an upgrade from “proof of work” to “proof of stake”.
In proof of work, electricity-hungry mining rigs in data centers around the globe crunch through algorithms to secure the blockchain network. Once upgraded to proof of stake, the network will be secured by the economic value of Ether itself. This upgrade, known as the “Merge”, will set the stage for future scaling work and will reduce Ethereum’s energy consumption by 99.9%.
The Merge is also one of the most complex system upgrades in the history of software. During the Merge, thousands of independent Ethereum node operators will simultaneously upgrade their code to adopt a different consensus protocol and blockchain architecture without any downtime as over 50 billion dollars of capital flows through the network.
To further add to the complexity, the decentralized nature of Ethereum means that nine independent engineering teams are building nine different software components that will form the proof of stake network. They all need to work together, in unison, to perform the upgrade without a hitch.
If the Merge is like changing the engines of a jet while it is flying, Kurtosis is like a wind tunnel for practicing the changes before they happen at 36,000 feet.
Kurtosis provides a high-level abstraction layer for defining and running distributed system environments. These environments run on the Kurtosis engine, which operates over low-level container orchestration tooling like Docker and Kubernetes. With Kurtosis, developers can easily manipulate and observe their systems in both local development and end-to-end testing workflows.
Developers use Kurtosis to launch short-lived Ethereum testnets that perform the Merge. Any developer building an Ethereum client can use these testnets to run the Merge locally or at scale with a configurable set of clients (testing various combinations of client diversity in the network). By using Kurtosis to define Ethereum Merge environments, developers also gain access to advanced testing tooling like a network partitioning and packet dropping SDK.
Kurtosis is running in an Ethereum Foundation continuous integration environment, regularly performing the Merge as each of the nine client teams release new versions of their software. In these regular CI runs, Kurtosis has revealed a number of tricky bugs in clients like this sync error in Geth.
In addition to end-to-end tests in CI, Kurtosis supports local debugging workflows on environments that precisely replicate the failing tests. This facilitates collaboration across client teams. In most cases, logs retrieved using Kurtosis’ log telemetry system are good enough for teams to debug the issue. When logs are insufficient, client teams can assess failing tests by rerunning the exact scenarios locally and analyzing the behavior of their software live.
Learn more about Kurtosis at https://kurtosis.com. If you’re interested in using Kurtosis to accelerate development on your ecosystem, please reach out to email@example.com to set up a chat with one of our founders.
We're in build mode at Kurtosis. Follow along for the latest.