Skip to content

Support checkpoint sync from head state for fork selection during long non-finality periods #586

@noopur23

Description

@noopur23

Scenarios to Handle

  1. Checkpoint sync from head state (non-finalized anchor)
  • Allow selecting a specific fork by checkpoint syncing from a head state instead of finalized state
  • The anchor of fork choice will not be finalized but should be treated similarly to prevent syncing blocks before it
  1. Anchor management during long non-finality
  • Update the anchor periodically even when finalization doesn't happen
  • Similar to how we update finalized checkpoints and prune the proto array, but without actual finalization
    Block syncing boundaries
  1. Stop syncing blocks that are before the anchor (not just before latest finalized)
  • Since latest finalized will be far back during non-finality, also check against the selected anchor
  • Fork choice initialization with head state
  1. When using head state as anchor: set both latest_justified and latest_finalized from head state
  • Different from finalized state anchor where only latest_finalized should be set

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions