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: