Execution layer clients will no longer request or respond to p2p queries about
block data before the Paris upgrade.
Motivation
As of 2024, historical data in clients has grown to around 500 GB. Nearly 400 GB
of that is from block data before PoS was activated in the Paris upgrade. Long
term, Ethereum plans to bound the amount of data nodes must store. This EIP
proposes the first steps to achieve such goal.
Specification
Add a new eth protocol capability with version 70.
Clients connected on this version must not make or respond to p2p queries about
block bodies or receipts before block 15537393.
The affected protocol messages are:
GetBlockBodies (0x05)
BlockBodies (0x06)
GetReceipts (0x0f)
Receipts (0x10)
Rationale
Only Pre-PoS data
One might ask why the distinction between pre and post PoS data is made in this
EIP. The simple answer is that the at the moment of the merge, the block
structure changed substantially. Although execution layer client software today
continues on with block data on disk which remains similar to per-PoS data, the
beacon chain is now the canonical chain definition. Therefore, a beacon block
can be used to both record historical data for execution layer and beacon layer.
Over the long term, the distinctions of “execution layer” and “consensus layer”
may matter less. This EIP tries to be agnostic to client architecture and
instead focuses on the shape of the data.
Backwards Compatibility
After this EIP is activated, nodes will no longer be able to full sync from the
devp2p network. To continue doing so, they must retrieve the data out-of-band.