If you hold $ETH, you should pay attention:
If ETH withdrawals were enabled today, ~1M ETH would be automatically withdrawn in 5 days.
This could be just the tip of the iceberg as 16.3M staked ETH would become free to move.
"ETH Withdrawals ELI5" thread you should read today:
The biggest $ETH unlock in Ethereum's history requires a proper explanation.
In this thread I'll cover:
➡️ Shanghai or Capella?
➡️ Two Types of Withdrawals
➡️ Withdrawal Process
➡️ Validator Exit Process
➡️ How Much ETH Will Be Withdrawn?
And more...
ETH validators are currently not able to withdraw their stake or earned rewards.
16.3M staked ETH is locked.
But the next Ethereum upgrade, Shanghai/Capella, will finally enable withdrawals.
The upgrade is expected to take place in March/April.
➡️ Shanghai or Capella?
These two names are used for the upcoming Ethereum upgrade.
Why?
Ethereum consists of:
- Consensus Layer (CL)
- Execution Layer (EL)
Shanghai is the upgrade name for EL, Capella for CL.
Both upgrades will happen simultaneously so both names are fine.
➡️ Two Types of Withdrawals
Withdrawals can be either partial or full.
Partial
- Only earned rewards are withdrawn
- Processed for ACTIVE validators with balance >32 ETH
Full
- The entire validator balance is withdrawn
- Processed for validators that EXITED the validator set
➡️ Withdrawals Are Gasless
Both partial and full withdrawals are not transactions.
They are gassless state change on Ethereum.
After successful withdrawal validators will just have a higher ETH balance on their withdrawal address.
➡️ Withdrawal Process
Every block (12s) only 16 withdrawals can be processed, be it partial of full.
The network scans through the active validator set by validator index number.
If a validator meets withdrawal criteria, it's added to the withdrawal list for the current block.
The scan is continued until 16 withdrawal spots are taken or maximum number of validators per scan have been examined (16,384).
If a validator meets:
- full withdrawal criteria => its entire balance is withdrawn
- partial withdrawal criteria => balance - 32 ETH is withdrawn
Partial and full withdrawals are technically the same.
Only the amount of ETH to withdraw is different.
What truly tells them apart are the withdrawal criteria.
➡️ Full Withdrawal Criteria
- Withdrawal credentials updated to the new format
- Validator has completed the exit process
- Validator balance >0 ETH
In short:
Full withdrawals take place only for the validators that have successfully exited the validator set (more below).
➡️ Partial Withdrawal Criteria
- Withdrawal credentials updated to the new format
- Validator is active
- Validator balance >32 ETH
In short:
Partial withdrawals take place for all the active validators with balances above 32 ETH.
➡️ Withdrawal Credentials
Each validator contains a field known as withdrawal credentials.
Depending on when and how a validator made a deposit, it may either be in the legacy or the new correct format.
Most validators must update it or they won't be able to withdraw.
➡️ Exiting the Validator Set
Full withdrawals are only processed for the validators that have successfully exited the validator set.
This process may take days, weeks or months depending on how many validators want to exit.
@WestieCapital describes this in details:
twitter.com/WestieCapital/status/1613645213792366595
In short, exit process consists of:
1. Exit queue
At 509k validators currently, max 7 validators may exit per epoch (6.4 min) or 1575 daily.
2. Waiting period
256 epochs, ~27 h
E.g.
If 25% of the current validator set wanted to exit in one day, it'd take 82 days to complete.
twitter.com/WestieCapital/status/1613645265638158337
➡️ Withdrawal Process TLDR
- Every block 16 withdrawals are processed automatically
- Partial withdrawals (excess of 32 ETH) for active validators
- Full withdrawals (entire balance) for exited validators
- Exiting the validator set is subject to exit process (may be long)
➡️ How Much ETH Will Be Withdrawn?
If Shanghai happened today:
- 1,007,436 ETH: partial withdrawals (sum of excess balances for active validators)
- 37,514 ETH: full withdrawals (sum of balances for exited validators)
Total: 1,044,950 ETH
It would take 4.4 days to process.
But Shanghai is in two months...
How much ETH will be withdrawn then?
How much ETH will be sold?
I'm polishing the calculations and graphs to answer these questions and will post them very soon.
Follow me @korpi87 and set up notifications to not miss it.