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

After EIP-7514

Who is affected

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.

Original EIP · ← EIPs