Skip to content

Forward compatible consensus data structures (EIP-7688)#4630

Open
etan-status wants to merge 34 commits into
ethereum:masterfrom
etan-status:sn-7688
Open

Forward compatible consensus data structures (EIP-7688)#4630
etan-status wants to merge 34 commits into
ethereum:masterfrom
etan-status:sn-7688

Conversation

@etan-status
Copy link
Copy Markdown
Contributor

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:

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)
@etan-status etan-status marked this pull request as ready for review October 6, 2025 20:11
Comment thread specs/electra/beacon-chain.md
@etan-status etan-status changed the title eip7688: use forward compatible SSZ types in Gloas EIP-7688: use forward compatible SSZ types in Gloas Dec 12, 2025
@etan-status etan-status changed the title EIP-7688: use forward compatible SSZ types in Gloas EIP-7688: Use forward compatible SSZ types in Gloas Dec 12, 2025
@github-actions github-actions Bot added ssz Simple Serialize lightclients testing CI, actions, tests, testing infra electra gloas labels Feb 3, 2026
@github-actions github-actions Bot added the heze label Apr 13, 2026
@jtraglia jtraglia changed the title EIP-7688: Use forward compatible SSZ types in Gloas Forward compatible consensus data structures (EIP-7688) Apr 28, 2026
@etan-status
Copy link
Copy Markdown
Contributor Author

etan-status commented Apr 30, 2026

v1.7.0-alpha.7 based tests (with progressive Transaction type):

@etan-status
Copy link
Copy Markdown
Contributor Author

etan-status commented May 5, 2026

participants_matrix:
  el:
    - el_type: nethermind
      el_image: ethpandaops/nethermind:master
  cl:
    - cl_type: nimbus
      cl_image: ethpandaops/nimbus-eth2:eip-7688-minimal

global_log_level: debug

network_params:
  preset: minimal
  gloas_fork_epoch: 1

additional_services:
  - dora

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

electra gloas heze lightclients ssz Simple Serialize testing CI, actions, tests, testing infra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants