Skip to content

Conversation

mehdi-aouadi
Copy link
Contributor

This PR removes the attestation_data index field which is not used anymore since Electra (always set to 0) and introduces a new payload_status field that signals the payload status of the block being attested to instead of reusing the existing index field.

The motivations behind these changes are the following:

  • The index field is not used anymore and could be removed. It was left and always set to 0 in Electra to avoid added complexity when introducing EIP-7549 EIP-7549: Move committee index outside Attestation #3559
  • The main purpose of the index field is to hold the committee index. It's now being used for whole other purpose (signaling the payload status) which is inconsistent and bugs prone
  • The index field meaning and interpretation has been updated in Gloas and either way is introducing complexity when processing attestations. This is a good opportunity to remove this "tech debt"

Drawbacks:

  • Updating the AttestationData container and indirectly the Attestation one has been proved to be not trivial and could introduce complexity and bugs (EIP-7549 was a proof of that)

Impacts:

  • Gossip layer: p2p rules
  • Fork choice: attestation processing and aggregation
  • Beacon APIs: attestation data creation, attestation aggregation

These changes were first discussed during the EIP-7732 Breakout Room Call 25 ethereum/pm#1744 (comment)
There is also a discord thread https://discord.com/channels/595666850260713488/874767108809031740/1427220882811523157

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants