Validator Infrastructure Upgrade Outlook

CREAM Validator Operations Upgrade

Upgrading the validator service operations from the current infrasturcture maintained by the CREAM team to our inhouse solution will be constrained by the Ethereum Beacon Chain (ETH2) limits on how validators can join and leave the beacon chain (i.e. staking process).

During this process we will be accruing revenue, fees, and rewards to a joint-controlled multisig. A feeReceipient address with an upgradable contract will be used to stake.

Ethereum imposed constraints

The churn limit, which governs Ethereum’s validator activations and exits, is a parameter that protects the network’s stability.

At the current churn limit there can only be 8 validator activations or exits per epoch, and any simultaneous demand to stake or withdraw beyond that threshold will have to wait in an activation or exit queue to be processed.

This limit means that only ≈0.04% of the circulating ETH supply can be activated per day (≈1800 validators per day), and any staking demand spiking beyond that limit will have to wait in a first-come-first-serve line to start earning Ethereum network rewards.

Validator Migration Estimation (in Days)

Migration Estimation (in Days)
Optimistic Deposit Time 0.28
Entry Queue 43.7
Total Deposit Time 44.0
Pessimistic Deposit Time 0.57
Entry Queue 46.18
Total Deposit Time 46.75
Active Validators 613,943
Validators To Enter 93,510[1]
Validators To Exit 0

ETH earned each year (consensus + execution)

Shows decreasing APY as ETH2 Staking Scales up

Number of validators Median Median APY Average Average APY
660,000 1.3565 4.24% 1.70 5.30%
800,000 1.2156 3.80% 1.50 4.68%

References

Validator Lifecycle Overview

See A note on Ethereum 2.0 phase 0 validator lifecycle - HackMD For more information on the steps

Withdrawability delay[2]

MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
# 2**8 (= 256) epochs ~27 hours

CHURN_LIMIT_QUOTIENT: 65536
MIN_PER_EPOCH_CHURN_LIMIT: 4

Probability of proposing a block

Every 12 seconds, a block is proposed by a selected validator on the network. The probability of proposing a block is thus:

(TOTAL_VALIDATORS * 12 seconds) / (NUMBER_OF_OPERATED_VALIDATORS)

With ~400 000 validators on the network, this translates to:

for a single key, once every ~57 days, for 10 keys, once every ~6 days, for 100 keys, once every 13 hours, for 1,000 keys, once every 80 minutes, for 10,000 validation keys, once every 8 minutes.


  1. Data from https://wenmerge.com/ ↩︎

  2. https://github.com/ethereum/consensus-specs/blob/e59c0afe79c5d5eef73ddd31991e22beef27e366/configs/mainnet/phase0.yaml#L96↩︎