Skip to main content
netspecsEthereum networking

4.1.9.3.etha history shards

Stage
Future
Validity
Future proposal; not yet reconstructed.
Sources
1 pinned source
Content
Pending reconstruction — no completeness claim is made.

Draft EIP-7801 defines an RLPx capability that advertises which repeating history spans a peer stores. It copies only body and receipt retrieval from eth/69.

Wire inventory

The handshake is:

[version, network-id, block-hash, genesis-hash, fork-id, block-bitmask]

block-bitmask is 10 bits. Each bit selects a 106,496-block span in every 1,064,960-block cycle.

GetBlockBodies (0x05) keeps the eth/69 payload:

[request-id, [block-hash, ...]]

BlockBodies (0x06) returns bodies in request order and keeps the eth/69 payload.

GetReceipts (0x0f) keeps the eth/69 payload:

[request-id, first-block-receipt-index, [block-hash, ...]]

Receipts (0x10) keeps the eth/69 request-id, continuation flag, and receipt lists.

Behavior and failure handling

A peer retains new spans selected by its advertised mask. A requester checks the mask before it asks for data and validates every returned body or receipt against a canonical header. The mask is a service claim, not proof that every item is available.

Status and open points

The draft suggests an ENR form but does not assign a field or a final derivation. This page does not treat that suggestion as a wire contract.

Design rationale

The repeating mask spreads old history across peers without asking every node to retain the full archive.