before the Merge
Transcript of before the Merge
before the MergeEth1/Eth2 clients interop
Tomasz K. Stanczak (flashbots ⚡️🤖, Nethermind 🤯, Oiler 🛢)
A bit of history
• Ethereum launched on July, 30th 2015
• Market cap of Ether is at around ~$420 billion
• TVL in DeFi is at ~$90 billion
• We are on a route towards a $1 trillion market
PoW Ethereum
• Miners build blocks.
• Miners search for PoW solutions.
• The first miners to find solutions propagate their blocks.
• The blocks that get propagated and accepted the fastest have the
greatest chance of ending up on the canonical chain.
• Block times are following a Poisson distribution with a mean of
around 13 seconds.
• Not playing by the rules leads to the block being rejected by the
network.
Photo: Ding Gang/Caixin
Prylabs delivered Prysm – the most popular beacon node client
Lighthouse is the second most popular beacon node client.
Specs, research, implementations.
A bit of history
Beacon Chain launched December, 1st 2020
• Staked ~8M ETH ($28 billion)
• the Merge brings the two networks together
Artwork: Michael Thompson, https://test.artstation.com/artwork/KWPrB
PoS Ethereum
• A time slot lasts 12 seconds.
• Each slot, one of N validators is selected
(N is now ~250,000) to propose a block.
• Each validator proposes a block around once per month.
• Not playing by the rules (signing conflicting statements) leads
to a partial deposit slashing and exclusion from the network.
Art by Imperial Boy
Bringing ten Ethereum
clients together
the Merge
• https://eips.ethereum.org/EIPS/eip-3675
• TTD (terminal total difficulty) to be announced.
• When the PoW block reaches TTD Ethereum 1
(Execution) clients switch from PoW to PoS.
• Block gossiping gets switched off.
• Difficulty field has no meaning any more (set to 0).
• Block rewards are removed.
• Engine API is used for collecting consensus information.
Source: Back to the Future
Engine API
• https://hackmd.io/@n0ble/consensus_api_design_space
• engine_preparePayload
• engine_getPayload
• engine_executePayload
• engine_forkchoiceUpdated
Post-Merge Sync
• Execution clients start by receiving the last
consensus block from the beacon node
• Then retrieve all the headers Back to the
Genesis
• Confirm the genesis hash matches
• Download block data (bodies and receipts)
• Continue listening to the beacon node
Source: Back to the Future
Wat change?
• To be in sync with the network you need to run
both the beacon node and the execution client
(e.g. Lighthouse + Nethermind)
(https://github.com/NethermindEth/nethermind/tree/themerge/amphora)
• You may stake 32 ETH to run a validator – propose and attest blocks, capture tx fees and MEV
• You may fallback to services like Alchemy or Infura for now but long term,
running an execution client should be required
• Blocks should be more predictably produced exactly 12 seconds apart
(some slots may be missed – currently below 1%)
• You should read https://ethereum.org/en/eth2/
Source: Vincent Callebaut Architectures
Thank You!
• Tomasz K. Stanczak (@tkstanczak)