This document contains the consensus-layer networking specification for Electra.
The specification of these changes continues in the same format as the network specifications of previous upgrades, and assumes them as pre-requisite.
Some gossip meshes are upgraded in the fork of Electra to support upgraded types.
Topics follow the same specification as in prior upgrades.
The beacon_block
topic is modified to also support Electra blocks.
The beacon_aggregate_and_proof
and beacon_attestation_{subnet_id}
topics are modified to support the gossip of the new attestation type.
The specification around the creation, validation, and dissemination of messages has not changed from the Capella document unless explicitly noted here.
The derivation of the message-id
remains stable.
The following convenience variables are re-defined
index = get_committee_indices(aggregate.committee_bits)[0]
The following validations are added:
- [REJECT]
len(committee_indices) == 1
, wherecommittee_indices = get_committee_indices(aggregate)
. - [REJECT]
aggregate.data.index == 0
The following convenience variables are re-defined
index = get_committee_indices(attestation.committee_bits)[0]
The following validations are added:
- [REJECT]
len(committee_indices) == 1
, wherecommittee_indices = get_committee_indices(attestation)
. - [REJECT]
attestation.data.index == 0