besu
besu copied to clipboard
Block History Expiry
Description
As a node operator, I would like to recover the 500GB of storage used by historical blocks, prior to the merge, if I do not intend to run an archive node. If I do intend to run an archive node, I want to retain those blocks, and also have access to them if I want to start up a new archive node from scratch.
User Scenarios
Most Users:
- start preferring eth70 over eth68 connections.
- users may drop pre-merge blocks, recovering space.
- eth68 peers will still connect, but may disconnect us when we do not have historical blocks they request.
- new users will be doing CHECKPOINT_SYNC from the merge instead of beacon chain genesis.
Current Archivists:
- no problem. start serving eth/70
- keep honoring eth/68.
- start serving etha with a full bitmask
New Archivists:
I need to backfill blocks, but everyone is on eth/70! I have 3 options.
- seek out peers supporting eth/68
- load in all blocks from genesis to the merge via an ERA loader.
- connect to the portal network
Once populated, you have the same requirements as Current Archivists do.
new archetype: Partial Archive Node.
- start serving eth/70
- honor eth/68
- choose how much pre-merge history you want to serve.
- source that from either
- eth/68 peers
- portal network
- start serving etha with the corresponding bitmask
History Expiry Meta EIP https://eips.ethereum.org/EIPS/eip-7927