- A validator can only be exited if it served a minimum amount of time 2^11 epochs (~9 days) to ensure a stable validator set
- this is desirable due to a property in PoS called weak subjectivity
- if we stop our validators for a few days and spin them back up, they would have to start from a semi-trusted checkpoint
- the weak subjectivity period is the period how long a validator could stay disconnected and it strongly correlates to the rate of change in the validator set
- Exiting a validator is also rate-limitied (validators have to wait in a queue before exiting). They can still be slashed for previously undetected misbehaviour
- A validator cannot rejoin the network after exit
- Withdrawals will only be possible with Shanghai fork
- Withdrawals will be possible after 2^8 Epochs (~27 hours)
- Beacon Node (Consensus layer) is responsible for keeping track of validator status
- Send voluntary exit request to Beacon Node: https://ethereum.github.io/beacon-APIs/#/Beacon/submitPoolVoluntaryExit
- Fetch validator info (validator index, epoch to exit)
- submit voluntary exit request along with
- validator index (which validator to exit)
- epoch (when to exit)
- signature (signing the message)
- Checkout an example of an exited validator
Further resources:
- Implementation of Voluntary exit
- Short video of Justin Drake explaining weak subjectivity