Open michaelsproul opened 2 years ago
Any update here?
On the backburner, we're hesitant to add this feature without opt-in from other client teams and a good solution to providing access to the historical data.
Syncing from checkpoint sync doesn't store all blocks, just the minimum we need to serve. I'm going to close this in favour of block pruning in #4158
Re-opening this as the PR never got merged and it's nice to have an issue to refer to.
PR is bitrotted, but could be updated soon:
Description
Currently Lighthouse stores every block from genesis to the current head, with no option to drop the older parts of history.
The p2p spec defines a parameter
MIN_EPOCHS_FOR_BLOCK_REQUESTS
equal to ~5 months, which we could adopt as the default backfill period for new checkpoint synced nodes.https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#consensus-layer-network-interaction-domains
If community consensus enables it we could also automatically prune blocks older than
MIN_EPOCHS_FOR_BLOCK_REQUESTS
on all nodes in real time. Assuming finality and no storage of historic states this would make the size of the database approximately constant :heart_eyes_cat: