A more in depth discussion of how Rated computes the overall withdrawal queue length
“If an entity or operator were to exit their validator right now, when would their withdrawn ETH land on their withdrawal address?”To answer this question, we need to first determine the length of the exit queue. We do this by adding the stake of the validators that are currently in the exit queue (
exit_epoch
> latest_epoch
). We divide this by the current churn limit per epoch
to get the number of epochs it will take to clear this queue. We then take the minute equivalent of this number of epochs (6.4 minutes per epoch). There is also a minimum 4 epoch wait to fully exit (MAX_SEED_LOOKAHEAD
) so this needs to be taken into account as well. These combined then form the part of the queue involved in exiting.
MAX_SEED_LOOKAHEAD
is the minimum delay on validator activations and exits; it basically means that validators strategically activating and exiting can only affect the seed 4 epochs into the future. See here for more information.exit_epoch
and withdrawable_epoch
have passed. We also only consider those who have valid withdrawal credentials and compounding validators. Their full stakes and rewards (i.e. any ETH balance above 0) get withdrawn.
We then add the number of partial and full withdrawals waiting to be processed and divide it by 256 to get the withdrawals processed per epoch (16 per block, 32 blocks per epoch). This gives us the number of epochs it will take to clear the withdrawals waiting to be processed. Multiplying this by 6.4 minutes gives us the minute equivalent of the total epochs.