Skip to content

FOCIL tracker #7340

Description

@nflaig

EIP-7805: Fork-choice enforced Inclusion Lists (FOCIL) tracker

Validator client

  • inclusing list service
    • retrieve, sign and broadcast inclusion lists
  • inclusing list duties service
    • poll duties from beacon node
    • keep track of duties
  • update validator store
    • construct a signed inclusion list
    • get_inclusion_list_signature
  • update remote signer client

Beacon api

  • retrieve unsigned inclusion list to be signed
  • submit signed inclusion list to be broadcast
  • retrieve inclusion list duties
  • inclusion_list event
  • retrieve inclusion lists from op pool (optional)

Beacon chain

  • new ssz types / containers
  • new spec constants
  • inclusion lists op pool / cache
  • add get_inclusion_committee_assignment
  • add get_inclusion_list_committee
  • add is_valid_inclusion_list_signature
  • add IL to new payload request to EL
  • forward received inclusion lists to EL for proposal until cutoff
  • retrieve IL transactions from EL and create InclusionList to sign over

Fork choice

  • track seen inclusion lists and equivocators
  • modify notify_new_payload
  • add get_attester_head to be used for attestations and sync committee message
  • import signed inclusion lists in fork choice store (on_inclusion_list)
  • call engine api to validate IL (validate_inclusion_lists)

Gossipsub / p2p

  • new gossipsub topic inclusion_list
  • gossip verification
  • track equivocations
  • forward IL gossip messages (max 2 messages per validator index)

Execution engine

  • define new engine api methods
    • add engine_newPayloadV5
    • add engine_getInclusionListV1
    • add engine_forkchoiceUpdatedV4

Beacon metrics

  • add required metrics
  • update dashboard

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicIssues used as milestones and tracking multiple issues.meta-pmIssues relating to Project Management tasks.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions