Staking Ethereum allows users to access rewards while securing the Ethereum network.
From the initial deposit, to the moment your stake starts earning rewards, and eventually transitions back to a liquid state for withdrawal, the process is guided by precise network parameters and queues. This process ensures both the security of the Ethereum network and the systematic accrual and retrieval of staked assets, making it essential for participants to understand the timelines and expectations involved in this intricate dance of staking and unstaking.
Keep reading to better understand how long it takes to start earning ETH rewards and how long it takes to get your stake back.
Staking Timing
Once a deposit transaction has been created the following must happen:
- Roughly 6.8 hours must elapse. This is the parameter ETH1_FOLLOW_DISTANCE and is equal to 2,204 blocks. This delay minimizes the chance of the deposit being included in a reorged block and allows time for devs to solve any unexpected problems that could arise.
- An additional 6.8 hour period is required for the validator to effectively vote on the deposit. This is known as the EPOCHS_PER_VOTING_PERIOD and is set at 64 epochs.
- There is a variable amount of time required for the deposit to be included in a block. At most Ethereum can process 16 deposits per block (see here – MAX_DEPOSITS). This means that, at most, 80 deposits can be processed per minute, 4800/hour or 115,200/day.
- Finally, the deposit must be processed by the consensus layer. If there is no queue, the deposit will be processed in 32 minutes (see here). If there is a queue, the time to process will depend on how many other deposits are awaiting activation. Post Dencun upgrade, Ethereum can process at most 8 activations per epoch or 1,800/day (225 epochs/day * 8).
The minimum amount of time, on average, for a deposit to be activated on the consensus layer is about 14 hours (6.8 hours + 6.8 hours + 32 minutes). This assumes there are no other deposits waiting to be processed; where “activated” is understood to mean the validator is part of the active set and performing duties (i.e., earning rewards).
For each additional 1,000 deposits awaiting activation, there is an additional delay of 13 ½ hours (1,000/4,800 + 1,000/1,800 * 24 = ~13.5 hours).
Unstaking Timing
Going from staked to withdrawal address involves three stages:
- The time required to exit the active set
- The time to go from exited to withdrawable
- The time for stake to be picked up in the withdrawal sweep
Exiting the active set takes a minimum of 5 epochs (32 minutes). If there aren’t any validators in the exit queue this is the only amount of time this step takes.
1. If there are validators in the exit queue, Ethereum will process at most 15 exits per epoch as at the time of writing . As a reminder there are 225 epochs per day. So Ethereum can process at most 15 * 225 = 3,375 exits per day.
It’s helpful to note that the Dencun upgrade reduced the churn limit for activations, not exits. So activations are limited to 8 validators per epoch, while exits are currently limited to 15 per epoch. The limit on activations does not change with the validator set size, while the limit to exits does. The maximum number of exits per epoch is equal to the current number of active validators divided by 65,536 then rounded down (i.e., drop the number after the decimal place).
2. Once the validator has exited it must wait an additional 256 epochs (or 27.3 hours) to become withdrawable. When a validator becomes withdrawable it will be picked up in the withdrawal sweep.
3. There is a maximum of 16 withdrawals that can be included in a block. There are 7200 slots per day. This means, at most, Ethereum can process 115,200 withdrawals per day. There are currently about 977,973 active validators. It takes Ethereum at least 977,973 / 115,200 = 8.49 days to cycle through all active validators and process any withdrawals.
a. How long it will take for a validator’s withdrawal to be processed depends on their validator index number and where Ethereum is in the process of cycling through validators.
b. The maximum time that this process will take is 8.49 days and the minimum is no time at all (if the validator’s index is the next one to be processed by Ethereum). Making no other assumptions, the average of these two extremes is likely reasonable: 4.25 days.
4. Assuming no one in the queue, a reasonable estimate is:
32 minutes + 27.3 hours + 4.25 days = 5.4 days = ~5 days currently.
Conclusion
In the world of Ethereum, staking and unstaking are processes that secure the network and offer rewards to participants. From the moment a deposit transaction is initiated to the time it takes for a stake to become active, and eventually, for the staked ETH to be returned, understanding the timelines involved is essential for every Ethereum staker.
As outlined in this article, the journey from staking to unstaking is governed by network parameters and processing capacities, culminating in an average timeline that participants can expect. With this knowledge, Ethereum stakers are better equipped to navigate the complexities of staking and unstaking, ensuring they make informed decisions in their blockchain engagements.
The information herein is being provided to you for general informational purposes only. It is not intended to be, nor should it be relied upon as, legal, business, tax or investment advice. Figment undertakes no obligation to update the information herein.