EIP-7514 Add a per-epoch cap on validator entry (Add Max Epoch Churn Limit)
Final · Consensus & staking · EIP status Final · created 2023-09-07
Limits the number of newly activated validators to at most 8 per epoch. This slows the exponential growth of total staked ETH to linear growth, buying time to rediscuss the reward structure.
Why it is needed
In Ethereum proof of stake, the number of entries per epoch is limited so that new validators cannot all enter at once. However, this limit (the churn limit) was designed to grow in proportion to the number of validators, so as validators increase, the entry rate also rises and the total amount staked grows exponentially. According to estimates at the time the source was written, if the deposit queue stays full, 50% of the total ETH supply would be staked in May 2024, 75% in September 2024, and 100% in December 2024. Even with 100% staked, consensus rewards alone would still yield about 1.6% a year, and MEV income and liquid staking tokens (LSTs) make it hard to deter additional capital inflow. More validators increase gossip messages and beacon state size, which burdens the consensus layer, and it is also unclear how much additional economic weight further helps security. A fundamental fix to the reward curve takes time, so this EIP is a transitional measure that only caps the entry rate to slow growth and buy the community time to discuss.
What changes
Today
- The entry limit keeps growing in proportion to the validator count. According to the source's projection, it was around 14 to 16 per epoch in Q4 2023.
- If the queue stays full, the staking ratio grows exponentially and could reach 100% in December 2024.
- Validator entry and exit were symmetric, governed by the same kind of limit.
After EIP-7514
- The number of validators activated per epoch is fixed at a maximum of 8, so total growth becomes linear.
- According to the source's estimate, reaching 50% of ETH supply staked is delayed by at least one year.
- The exit-side limit is unchanged, so an asymmetry arises in which only entry is capped.
Who is affected
- Stakers: When the deposit queue is long, the wait before a new validator is activated can grow. There is no change to the rewards or operation of validators that are already active.
- Consensus client teams: Clients must implement the addition of get_validator_activation_churn_limit and the modification of process_registry_updates, and it must be deployed together in a hard fork.
- Researchers and community: While reaching the staking threshold is delayed, there is time to research fundamental solutions such as redesigning the reward curve and to build consensus.
In depth
Constant: MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT = 8
Defines a new constant MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT as 8. Previously the activation churn limit kept growing with the size of the validator set, but this constant becomes its upper bound. It is a consensus layer only change that requires no changes to the execution layer.
Two consensus layer changes
First, add a get_validator_activation_churn_limit function with the cap applied. Second, modify process_registry_updates to use this capped activation churn limit. The full specification is in /specs/deneb/beacon-chain.md of the consensus-specs repository.
Why 8
If the cap is set below the churn value at the fork, churn drops in the fork epoch, and the beacon chain spec handles this without problems. The churn in Q4 2023, when Dencun activation was expected, was in the range of 14 to 16. According to the table in the original text, with a cap of 8, the date when 50% of ETH staked is reached moves to March 15, 2025 if activation is assumed on December 1, 2023, and to October 1, 2024 if activation is assumed on April 1, 2024. Compared with the no-cap case (May 28, 2024), 8 was chosen as the value that delays reaching 50% by at least one year even if Dencun is delayed.
Background figures for the problem
If the queue stays 100% full, the staking ratio was projected to reach 50% in May 2024, 75% in September, and 100% in December 2024. Even at 100% staking, consensus rewards alone, excluding MEV and transaction fees, still yield about 1.6% per year on the stake. MEV revenue is large and unpredictable, so a yield drop of this size does not deter additional staking, and LSTs let staked ETH be used like ordinary ETH, which encourages even more inflows. The reward function was set by research done before the 2020 launch, when MEV did not exist, so it needs to be reconsidered. That is the problem this EIP is concerned with. However, this EIP does not fix the reward curve. It only buys time.
Asymmetry between entry and exit
This EIP breaks the symmetry between the validator entry queue and the exit queue. Entry (activation) is limited by MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT, but this limit does not apply to the exit queue. The original text states this explicitly as a security consideration.
Deployment and current status
It changes the consensus layer's block validation rules in a way that is not backward compatible, so it must be deployed together with a hard fork. The status of this EIP is Final. The specification is in the deneb directory of consensus-specs, and the test cases are in the deneb test suite of the same repository.