Skip to content

Add inclusion lists backfilling via InclusionListsByIndices - #15

Open
conache wants to merge 15 commits into
focil-il-backfill-basefrom
focil-inclusion-lists-by-indices-client
Open

conache wants to merge 15 commits into
focil-il-backfill-basefrom
focil-inclusion-lists-by-indices-client

Conversation

@conache

@conache conache commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Issue Addressed

Part of the FOCIL implementation. This PR adds the client side of the InclusionListsByIndices req/resp protocol (per spec). A node that will propose in the next slot can backfill the inclusion lists it missed on gossip.

The server-side implementation of this is added in sigp#10072.

Proposed Changes

  • Trigger the backfilling at the inclusion list deadline of each slot. It only does so on the Heze fork, when the node is synced, and one of its validators proposes in the next slot
  • Each response chunk is first checked against the request params (slot, dependent root, requested validator, no duplicates)
  • Fetched inclusion lists are verified and imported on the beacon processor, and invalid lists penalize the peer that sent them
  • Lists fetched over RPC are verified with the gossip verification logic. However, because two of the gossip checks are only related to the propagation (first-or-second list from a validator and gossip clock disparity), they don't apply to these lists. To differentiate between them, this PR introduces an InclusionListSource, so RPC lists skip the two mentioned checks and check the store's retention window instead

Additional Info

@conache
conache marked this pull request as ready for review October 6, 2026 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant