Evaluate Blockchain Fork Tracking

Description

We currently track fork chainheads as a list of hashes in our key-value store: https://github.com/hyperledger/besu/blob/4a3b693bb18fab6ad47b23099fc54a7244630ab4/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/storage/keyvalue/KeyValueStoragePrefixedKeyBlockchainStorage.java#L69-L73

This collection was originally added so that we might go back and clean up old fork data, but we're not currently doing anything with it. Storing all of the fork heads in one collection is not very scalable for long-running nodes with a lot of chainhead contention.

We should determine whether or not we need to track fork heads:

  • If so:

    • We should evaluate whether we need a more scalable tracking solution, or at least start evicting this data so we can limit the size of the collection

  • If not:

    • We should safely remove this tracking

Status

Assignee

Unassigned

Reporter

Meredith Baxter

Labels

None

Refinement State

Not Started

Scrum Team

Chupacabra

Epic Link

Priority

P3
Configure