EIP-7805 -- Networking¶
This document contains the consensus-layer networking specification for EIP-7805.
- Modifications in EIP-7805
- Helper functions
- Configuration
- The gossip domain: gossipsub
- The Req/Resp domain
Modifications in EIP-7805¶
Helper functions¶
Modified compute_fork_version¶
Configuration¶
| Name | Value | Description |
|---|---|---|
MAX_REQUEST_INCLUSION_LIST |
2**4 (= 16) |
Maximum number of inclusion list in a single request |
MAX_BYTES_PER_INCLUSION_LIST |
2**13 (= 8192) |
Maximum size of the inclusion list's transactions in bytes |
The gossip domain: gossipsub¶
Topics and messages¶
The new topics along with the type of the data field of a gossipsub message
are given in this table:
| Name | Message Type |
|---|---|
inclusion_list |
SignedInclusionList |
Global topics¶
EIP-7805 introduces a new global topic for inclusion lists.
inclusion_list¶
This topic is used to propagate signed inclusion list as SignedInclusionList.
The following validations MUST pass before forwarding the inclusion_list on
the network, assuming the alias message = signed_inclusion_list.message:
- [REJECT] The size of
message.transactionsis within upperboundMAX_BYTES_PER_INCLUSION_LIST. - [REJECT] The slot
message.slotis equal to the previous or current slot. - [IGNORE] The slot
message.slotis equal to the current slot, or it is equal to the previous slot and the current time is less thanget_attestation_due_ms(epoch)milliseconds into the slot. - [IGNORE] The
inclusion_list_committeefor slotmessage.sloton the current branch corresponds tomessage.inclusion_list_committee_root, as determined byhash_tree_root(inclusion_list_committee) == message.inclusion_list_committee_root. - [REJECT] The validator index
message.validator_indexis within theinclusion_list_committeecorresponding tomessage.inclusion_list_committee_root. - [IGNORE] The
messageis either the first or second valid message received from the validator with indexmessage.validator_index. - [REJECT] The signature of
inclusion_list.signatureis valid with respect to the validator's public key.
The Req/Resp domain¶
Messages¶
InclusionListByCommitteeIndices v1¶
Protocol ID: /eth2/beacon_chain/req/inclusion_list_by_committee_indices/1/
For each successful response_chunk, the ForkDigest context epoch is
determined by compute_epoch_at_slot(signed_inclusion_list.message.slot).
Per fork_version = compute_fork_version(epoch):
fork_version |
Chunk SSZ type |
|---|---|
EIP7805_FORK_VERSION |
EIP-7805.SignedInclusionList |
Request Content:
Response Content: