Skip to content

Sepolia: Pre-merge expiry prunes terminal PoW block #8629

@yorickdowne

Description

@yorickdowne

Is your feature request related to a problem? Please describe.

The current Sepolia config intends to prune pre-merge blocks, but keeps the terminal PoW block.

    "AncientReceiptsBarrier": 1450408,
    "AncientBodiesBarrier": 1450408

This barrier is "The earliest body downloaded with fast sync when DownloadBodiesInFastSync is set to true", analogous for receipts. It is the first block kept, not the last block pruned.

Sepolia: Terminal PoW block https://sepolia.etherscan.io/block/1450408, PoS transition block https://sepolia.etherscan.io/block/1450409

Describe the solution you'd like

Therefore, to expire all PoW block history:

Sepolia, expire 1450408 and earlier

    "AncientReceiptsBarrier": 1450409,
    "AncientBodiesBarrier": 1450409

Describe alternatives you've considered

Do nothing. Pruning one less block is by no means fatal.

Additional context

https://eips.ethereum.org/EIPS/eip-3675

Terminal PoW block: A PoW block that satisfies the following conditions – pow_block.total_difficulty >= TERMINAL_TOTAL_DIFFICULTY and pow_block.parent_block.total_difficulty < TERMINAL_TOTAL_DIFFICULTY. There can be more than one terminal PoW block in the network, e.g. multiple children of the same pre-terminal block.

TRANSITION_BLOCK The earliest PoS block of the canonical chain, i.e. the PoS block with the lowest block height.

Similarly, when/if you add expiry to mainnet:

Mainnet: Terminal PoW block https://etherscan.io/block/15537393, PoS transition block https://etherscan.io/block/15537394

Therefore, to expire all PoW block history:

Mainnet, expire 15537393 and earlier

    "AncientReceiptsBarrier": 15537394,
    "AncientBodiesBarrier": 15537394

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions