<aside> 🔗 Consider linking to your design doc from your PR to make your PR reviewer’s job easier!
</aside>
Withdrawals are a major part of the Ethereum Capella hard fork. This document explains how this feature will be designed in Prysm.
Currently there is no way to withdraw funds stored in the validator balance. Validators can exit the validator pool, but their ETH is stuck at the CL. The next hard fork, which is named Capella, will change this. Validators will be able to withdraw their balances to their EL accounts. https://github.com/ethereum/consensus-specs/blob/dev/specs/capella/beacon-chain.md describes core CL changes that have to be made in order to enable withdrawals.
These are the main parts of this feature:
BLSToExecutionChange
)process_bls_to_execution_change
)
3a) Create the beacon endpoint
3b) Create the prysmctl CLI to validate the SignedBLSToExecutionChange
JSON, serialize it to SSZ and send the message to the endpoint in 3a
3c) Work on the p2p side of sending, receiving and pre-validating these messages.