EIP-7514: Add Max Epoch Churn Limit

Modify the churn limit function to upper bound it to a max value


Metadata
Status: FinalStandards Track: CoreCreated: 2023-09-07
Authors
dapplion (@dapplion), Tim Beiko (@timbeiko)

Abstract


Update the maximum validator growth rate from an exponential to a linear increase by capping the epoch churn limit.

Motivation


This proposal aims to mitigate the negative externalities of very high level of total ETH supply staked before a proper solution is implemented. In other words, this proposal accepts the complexities of changing the rewards curve and is meant only to slow down growth.

In the event that the deposit queue stays 100% full, the share of ETH supply staked will reach 50% by May 2024, 75% by September 2024, and 100% by December 2024. While rewards decrease as the validator set size increases, at 100% of ETH supply staked, yearly consensus rewards alone (excluding MEV/transaction fees) for validators still represent ~1.6% of their stake. This small yield does not necessarily dissuade additional capital staking due to the often much higher and unpredictable yields from MEV. As such, the equilibrium point of the validator set size can be close to its maximum possible. Liquid staking tokens (LSTs) also contribute to this, given stakers can use them as they use unstaked ETH.

As the levels of ETH staked increase, more strain is put on the consensus layer. A larger number of validators leads to an increase in gossip messages, as well as a growing Beacon state size. Additionally, as the amount of stake grows, it's unclear how much marginal security benefits come from additional economic weight.

The Beacon Chain validator reward function was chosen before its launch in 2020. PoS research and reward curve design were performed in a pre-MEV world. Much has changed since then, including the Beacon chain achieving unprecedented success, beyond the original intended targets of stake rate. In light of this, it is worth discussing whether Beacon chain validator rewards should be adjusted to better match today's reality, potentially to discourage staking past a certain point.

This EIP does not attempt to do this, but to allow more time for the community to have these discussions. By limiting the epoch churn limit now, the time to reach critical milestones of total ETH supply staked are significantly delayed. This allows more time for research into more comprehensive solutions, and for community consensus around them to emerge.

Specification


Constants

NameValue
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT8

Execution layer

This requires no changes to the Execution Layer.

Consensus layer

  • Add get_validator_activation_churn_limit with upper bound MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT
  • Modify process_registry_updates to use bounded activation churn limit

The full specification of the proposed change can be found in /specs/deneb/beacon-chain.md.

Rationale


MAX_PER_EPOCH_CHURN_LIMIT value

Depending on the specific constant selection the churn can decrease at the activation fork epoch. The Beacon chain spec can handle this without issues. During 2023 Q4 (projected Dencun activation) the churn value will range 14-16. The table below compares the projected validator set assuming a continuous full deposit queue.

MAX_PER_EPOCH_CHURN_LIMIT activation date: Dec 01, 2023

Max Churn Limit50% ETH staked75% ETH staked100% ETH staked
infMay 28, 2024Sep 25, 2024Dec 18, 2024
16Jul 23, 2024Apr 10, 2025Dec 26, 2025
12Oct 09, 2024Sep 21, 2025Sep 04, 2026
8Mar 15, 2025Aug 18, 2026Jan 21, 2028
6Aug 19, 2025Jul 14, 2027Jun 08, 2029
4Jun 29, 2026May 05, 2029Mar 12, 2032

MAX_PER_EPOCH_CHURN_LIMIT activation date: Apr 01, 2024

Max Churn Limit50% ETH staked75% ETH staked100% ETH staked
infMay 28, 2024Sep 25, 2024Dec 18, 2024
16Jul 01, 2024Mar 18, 2025Dec 04, 2025
12Aug 01, 2024Jul 14, 2025Jun 26, 2026
8Oct 01, 2024Mar 05, 2026Aug 08, 2027
6Dec 01, 2024Oct 26, 2026Sep 20, 2028
4Apr 02, 2025Feb 07, 2028Dec 15, 2030

Assuming that the earliest the next fork can happen is at the start of 2024 Q3, a value of 8 provides a significant reduction in projected size without causing a big drop in churn at a projected Dencun fork date. A value of 8 prevents reaching a level of 50% ETH staked for at least 1 full year even with a delayed dencun fork.

Backwards Compatibility


This EIP introduces backward incompatible changes to the block validation rule set on the consensus layer and must be accompanied by a hard fork.

Test Cases


Test cases for this EIP can be found in the deneb test suite of the consensus-specs repository.

Security Considerations


This EIP breaks the symmetry between the validator entry and exit queues, where the former is bound by MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT while the latter isn't.

Copyright


Copyright and related rights waived via CC0.