Typefully

Ethereum Upgrade: EIP-7251

Avatar

Share

 • 

A year ago

 • 

View on X

(1/26) @ethereum Upgrades: EIP-7251 Today, every validator participating in Proof of Stake is backed by exactly 32 $ETH... from solo stakers to @coinbase. EIP-7251 allows validators to grow up to 2048 $ETH, improving the staking experience and making PoS much more efficient.
(2/26) Ethereum is the World Computer, a single, globally shared computing platform that exists in the space between a network of 1,000s of computers (nodes). These nodes are real computers in the real world, communicating directly from peer to peer. x.com/LogarithmicRex/status/1592309373732151296
(3/26) Every node runs a local copy of the Ethereum Virtual Machine (EVM). Every copy is held perfectly in sync, so that interacting with any copy is equivalent to interacting with every copy. The consensus mechanism that keeps every node in sync is called Proof of Stake (PoS). x.com/LogarithmicRex/status/1579594609855934465
(4/26) Ethereum's version of PoS is complicated, but here's a quick and dirty summary... To participate in PoS, node operators elect to lock up (stake) $ETH in exchange for becoming a validator. It takes 32 $ETH to create a validator. One node can operate multiple validators.
(5/26) PoS selects validators to propose and vote on (attest) blocks. Honest participation earns rewards, malicious behavior risks losing stake. Every ~6.5 minutes, every active validator participates by confirming the validity of the next block and submitting an attestation. x.com/LogarithmicRex/status/1578540111930699778
(6/26) This process keeps nodes in sync, progresses the EVM and secures Ethereum with the economic value of the staked $ETH. However, Ethereum's implementation of PoS is ripe for improvement. One important weakness: the raw count of validators is so high that it's problematic.
(7/26) Today, we have ~1.1MM validators. Every ~6.5 mins, Ethereum must verify every single signature to achieve economic finality and progress the chain. Fortunately, through the magic of BLS signatures, instead of checking them one-by-one we can aggregate them and check once. x.com/LogarithmicRex/status/1575279806618292226
(8/26) But still, this aggregation takes time and a significant amount of compute. It is perhaps the main reason that Ethereum only produces 1 block every 12 seconds and why economic finality is only achieved every ~15 mins. This many signatures simply requires time.
(9/26) If we were able to reduce the number of signatures we need to process, we can open up considerable design space to improve the efficiency, user experience and security of Ethereum. So, let us ponder: why do we have so many validators? Answer: 32 $ETH per validator
(10/26) To understand why each validator is backed by 32 $ETH, you must look at Ethereum's old sharding design. The security of that design forced every validator to be the same size. While we moved on from sharding, Ethereum retained the concept of uniform, 32 $ETH validators.
(11/26) For individual humans in the real world, 32 $ETH (>$100k) is a lot; for institutions/staking protocols/LSD issuers, 32 $ETH is tiny. For example, @coinbase's $cbETH is backed by over 360k $ETH. Coinbase must deploy ~12k validators (360k $ETH / 32 $ETH per validator).
(12/26) In order for Coinbase to stake this $ETH, it must submit ~12k signatures and PoS has to process and verify each one. This is very inefficient/wasteful. All of the validators are run by one entity, making the exact same attestations, yet we still check every one.
(13/26) Again, the reason each validator is uniformly backed by 32 $ETH stems from a design that has been discarded for years now. Imagine a world where a validator can be backed by significantly more than 32 $ETH. What if we could collapse Coinbase's 12k validators into 200?
(14/26) Which brings us to EIP-7251, an upgrade that will: 1) increase the max amount of staked $ETH per validator from 32 to 2048 2) maintain the min amount of staked $ETH per validator at 32 3) provide a mechanism for consolidation eips.ethereum.org/EIPS/eip-7251
(15/26) The biggest impact will be that we will be able to significantly collapse the number of validators (without effecting security or decentralization). Less validators = less signatures = less overhead
(16/26) For a sense of scale, we can compare the number of active keys (unique to each validator) and withdrawal credentials (representing ownership of staked $ETH - can be shared between validators). There are ~1.1MM active keys and only ~40k withdrawal credentials.
(17/26) It's not quite as simple as saying EIP-7251 will reduce the number of validators by 96%. Coinbase et al have much more staked $ETH than the new max balance (2048) and so will not be able to consolidate into a single validator. Regardless, the consolidation will be massive.
(18/26) So let's talk about the impacts of EIP-7251. First, let's look the immediate changes to Ethereum/PoS. First, Ethereum staking will finally natively support auto-compounding. Instead of $ETH rewards being paid out, they can be added back to the stakers principle.
(19/26) Right now, the way the system works is that any $ETH earned by a validator is automatically withdrawn (removed from the validator). The validator only earns on the original 32 $ETH stake. Post EIP-7251, any rewards will immediately begin earning more $ETH.
(20/26) While auto-compounding is great, it's not for everyone. EIP-7251 will also bring a concept called custom ceilings. Instead of today's uniform ceiling (32 $ETH), validators can individually set their own ceiling (after which staked $ETH will be automatically distributed).
(21/26) EIP-7251 also introduces partial withdrawals. If a validator has staked more $ETH than the min balance (32), it can partially withdraw. Today there is only 1 option: a full exit/withdrawal. EIP-7251 brings the flexibility needed to safely run large-balance validators.
(22/26) So that covers the changes implemented by EIP-7251. Lot's of under-the-hood changes to Ethereum in order to improve the staking experience and reduce the number of validators. But the question you must be asking yourself: why do we need PoS to be more efficient?
(23/26) To understand the goal, you need to understand finality. When finality is achieved, a a user knows that their transaction cannot be changed/undone without destroyed AT LEAST 1/3 of all staked $ETH. This is what "secured by the value of staked $ETH means."
(24/26) Today, Ethereum reaches finality ~15-25 mins after each block. The main bottleneck: processing every validator's signature. Fewer signatures opens the door to one of Ethereum's more profound upgrades: single-slot finality. Every block instantly secured by staked $ETH. x.com/LogarithmicRex/status/1613053213158289408
(25/26) If you're still curious and want to learn more about EIP-7251, check out this episode of PEEPanEIP, where @poojaranjan19, @dapplion and @mikeneuder have an in-depth discussion about EIP-7251! youtube.com/watch?v=3cVhNXDTjgg
(26/26) In summary, EIP-7251 allows node operators to increase the amount of $ETH staked in a specific validator from today's cap of 32 $ETH to 2048 $ETH. This has major implications for stakers' user-experience. Even more importantly paves the way for single-slot finality.
Avatar

Logarithmic Rex

@LogarithmicRex