Skip to content

EIP-4444 - Tracking Issue #3181

Open
Open
@acolytec3

Description

@acolytec3

EIP-4444 is on the horizon and it's time we start thinking about the implications for the client. Here are what I believe the main changes required in the client to be:

  • Stop serving block header, block bodies, and receipts older over devp2p where the data is from a block older than the HISTORY_PRUNE_EPOCHS constant (basically 1 year in CL epochs). This change should happen within the EthereumFullService/EthProtocol part of the client and not in the devp2p package itself since devp2p has no concept of block history
  • Add a feature to prune older blocks
  • Our default sync mode needs to be Beacon Sync paired with a CL client (aka "Checkpoint Sync").
  • We should consider whether it makes sense to retire Full Sync, or else rewrite it to use the Portal Network as the means of retrieving the block history.
  • We need to consider the upstream implications for the blockchain class. The EIP specifically suggests treating the weak subjectivity checkpoint as "genesis" for purposes of syncing so we need to evaluate what/if any are the implications of this.
  • We should update our RPC endpoints impacted by this (eth_getBlockByNumber, eth_getBlockByHash, eth_getLogs, eth_getTransactionReceipt to potentially use Portal Network backends)

There's probably more here but a first step in supporting 4444 should be to confirm that we can sync our client only using checkpoint sync and then setup our sync in such a way that it doesn't backfill older blocks beyond the 1 year mark.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions