Skip to main content

Nimbus update - Pre-merge interop!

by
5 min read

header-image

In the words of Danny Ryan, Altair is here and the Merge is coming!

Finalized no. 29https://t.co/ssVYW3M8d7

Altair is here; the Merge is coming.

tl;dr below

— dannyryan 🚂 (@dannyryan) September 28, 2021

We first simulated the merge back in April/May of this year.

> This is the first time all eth2 and eth1 clients communicated with each other in an emulation of the merger which removes Proof of Work miners and fully upgrades the network to Proof of Stake.

eth2 progress deniers in disbelief https://t.co/VGlWCI5d3v

— banteg (@bantg) May 1, 2021

Fast forwards 5 months and we're finally ready for a more realistic follow-up.

the merge is coming fast. THE MERGE Y'ALL. arguably the largest event in blockchain history since the bitcoin genesis block. It's proof that together we can build a decentralized future, and (responsibly) improve and innovate on the core infrastructure via rough social consensus https://t.co/2h6GMKF2wJ

— kassandra.eth (@RitualTypist) September 28, 2021

This time, the interop will build off Altair, rather than Phase 0.
Importantly, we'll be testing the transition mechanism that will take us from a pre to post merge world.

Productionizing the Merge spec includes:
- Improving the Consensus API (separating it from the user JSON-RPC)
- Implementing the logic for the latest fork-transition approach
- Rebase the work onto Altair/London upgrades

— proto.eth 🚂 🦇 🔊 (@protolambda) May 12, 2021

The merge spec has just recently been "productionised"

We also have a 5th client on the block  :)

LODESTAR JOINED THE 100% CLUB 😎 Max profitability for a full day on Eth2.0 mainnet.

*I test in prod* master @gregthegreek plz enjoy your sweet rewards @ChainSafeth 🚀🚀🚀🚀 pic.twitter.com/e8RMR8fRdi

— Lion ⟠ dapplion .eth (@dapplion) September 17, 2021

Merge quick sync

In general an Ethereum client consists of two layers - the consensus layer and the execution layer.

The consensus layer is responsible for the consensus, i.e. block validity, and fork choice rule. As it stands, on mainnet, we rely on PoW consensus. The Merge enables PoS consensus driven by the beacon chain.

The execution-layer is responsible for transaction bundling, execution, and state management. During the merge this layer will be represented by modified pre-merge PoW clients (eg. geth, nethermind, besu, openethereum, turbogeth, etc).

The key to a successful merge is getting these two layers to talk to each other: the plan right now is for them to interact via a one-way communication protocol, driven by the consensus layer (although this approach is not yet set in stone).

Note that if these layers are bundled into a single piece of software, then the UX of running a post-merge client becomes very similar to running a pre-merge PoW client today (which is precisely why we are working so hard on building out our execution layer client).

If you'd like to to dig into the details, this document specifies the modifications that must be made to beacon chain and pre-merge clients to turn them into a post-merge consensus node and execution engine, respectively.

Our progress

We have passed all the merge spec tests. If you want to get your hands dirty, you can actually verify this for yourself!

And while we're waiting for a compatible execution client, we have everything you need to start experimenting on the consensus side.

Eager to get started with #themerge experiments? Our interop branch has got everything you need for the consensus side: https://t.co/rRwO27kmaK

— Nimbus (@ethnimbus) October 1, 2021

You can keep track of our broader progress here.

Interop lock in: round 2

In the words of Ben Edgington, the cat is out of the bag - the eth1 and eth2 client teams will be meeting up in early October to get some Merge devnets running.

You can think of this as round 2 of the interop event we did two years ago.

Expect to hear a lot of updates from the client teams as we build out the Merge logic and test our software together on short-lived devnets.

In anticipation, we'll leave you with some highlights from the previous lockin.

#Lighthouse and @ethnimbus just finalized a #Eth2 epoch!

As far as I know, this is the first instance of finality on a multi-client Eth2 testnet!

Thanks @protolambda, @dannyryan for the help. Great work on the networking stack @AgeManning and @jcksie

#Eth2
is coming! pic.twitter.com/vC5m9OuaT8

— Paul Hauner (@paulhauner) September 9, 2019

Artemis just achieved #interop with @ethnimbus pic.twitter.com/JWkIg3XinW

— Joseph Delong 🔱 (@josephdelong) September 10, 2019

Validator monitoring coming to an @ethnimbus near you *soon(TM)*: https://t.co/x65lpxJ3t4 - based on the excellent and pioneering work done by @paulhauner / @sigp_io - by and large compatible metrics make dashboard/monitoring interop easier too!

— Jacek Sieka (@jcksie) September 30, 2021

Fully autonomous #eth2 beacon chain between @ethnimbus and #lighthouse on a pair of raspberries found in the Canadian wilderness! pic.twitter.com/Xkps1Yu3DS

— Jacek Sieka (@jcksie) September 11, 2019

P.S. Keep your eyes peeled for an Ethereum Foundation blogpost on Monday. This will include all mainnet Altair releases. We will also be making a more formal Altair announcement next week.