You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Validator object does not need to store withdrawal_credentials. Instead, we can have a stateless approach where withdrawal operations include a Merkle proof to a historical deposit via historical_roots. To make this safe we can check that deposit.data.withdrawal_credentials == ZERO_HASH for deposits to existing validators.
The general heuristic is that consensus storage is much more expensive than consensus bandwidth. This is especially true for withdrawal_credentials which is read exactly once. In the worst case we can save over 100MB from the beacon state.
The text was updated successfully, but these errors were encountered:
Closing this issue because withdrawal_credentialsdoes not need to be stored in RAM by validators (it can be stored on disk). It may also be possible to implement statelessness with without consensus support.
@ralexstokes: You gave a thumbs up. Feel free to reopen the issue :)
The
Validator
object does not need to storewithdrawal_credentials
. Instead, we can have a stateless approach where withdrawal operations include a Merkle proof to a historical deposit viahistorical_roots
. To make this safe we can check thatdeposit.data.withdrawal_credentials == ZERO_HASH
for deposits to existing validators.The general heuristic is that consensus storage is much more expensive than consensus bandwidth. This is especially true for
withdrawal_credentials
which is read exactly once. In the worst case we can save over 100MB from the beacon state.The text was updated successfully, but these errors were encountered: