Prune old blocks from the dag

Description

Once a validator V has seen that every validator has seen every validator see a block B, B should never be directly referred to again, and V can prune B from its copy of the dag.

If B can be pruned, then all the ancestors of B have already been pruned. For a validator to equivocate and produce a block where B is not in its justification, it would need to justify that block with one of the ancestors of B. It has also issued other blocks that refer to B because of the pruning criterion, so any block that equivocates with B also equivocates with those later blocks.

We can therefore take referring to a pruned block as a slashable offense, as mentioned at the bottom of the description for

Status

Assignee

Unassigned

Reporter

Mike Stay

Components

Story Points

None

Epic Link

None

Labels

None

Priority

Medium