-
Notifications
You must be signed in to change notification settings - Fork 1.2k
eip7688: use forward compatible SSZ types in Gloas #4630
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
EIP-4788 exposed the beacon root to smart contracts, but smart contracts need to be redeployed / upgraded whenever generalized indices change during a fork, even if that fork does not touch any used functionality. That is analogous to an OS without ABI stability, requiring programs to be maintained and re-compiled due to random breakages in OS updates. This issue expands further to bridges on other blockchains, and also into wallets / dApps that verify data from the beacon chain instead. Such projects do not typically share Ethereum's release cadence. - https://eips.ethereum.org/EIPS/eip-4788 EIP-7688 introduces forward compatibility for beacon chain structures. Generalized indices remain same when list capacities evolve over forks, containers no longer get re-indexed when reaching a new power-of-2 number of fields, and fields can be deprecated, leaving a gap in the Merkle tree instead of triggering re-indexing. - https://eips.ethereum.org/EIPS/eip-7688 EIP-7688 was requested for inclusion by popular projects: - For Electra by Rocketpool: https://xcancel.com/KaneWallmann/status/1816729724145795258 - For Fulu by Lido: ethereum/pm#1356 (comment)
| if len(request_data) != 0 | ||
| if request_data |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to revert this change. This is the pythonic way to do it but it's not as explicit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I couldn't get make lint to pass without this one, some static analyzer struggling with it
EIP-4788 exposed the beacon root to smart contracts, but smart contracts need to be redeployed / upgraded whenever generalized indices change during a fork, even if that fork does not touch any used functionality. That is analogous to an OS without ABI stability, requiring programs to be maintained and re-compiled due to random breakages in OS updates.
This issue expands further to bridges on other blockchains, and also into wallets / dApps that verify data from the beacon chain instead. Such projects do not typically share Ethereum's release cadence.
EIP-7688 introduces forward compatibility for beacon chain structures. Generalized indices remain same when list capacities evolve over forks, containers no longer get re-indexed when reaching a new power-of-2 number of fields, and fields can be deprecated, leaving a gap in the Merkle tree instead of triggering re-indexing.
EIP-7688 was requested for inclusion by popular projects: