Implement FOCIL (EIP-7805)
Spec: EIP-7805 - Fork-Choice enforced Inclusion Lists
Overview
Implement Fork-Choice enforced Inclusion Lists (FOCIL) to enable censorship resistance through committee-based forced transaction inclusion.
Resources
Specification:
Engine API :
- ethereum/execution-apis
src/engine/experimental/eip7805.md - engine_getInclusionListV1, engine_newPayloadV5, engine_forkchoiceUpdatedV4
Beacon API :
- ethereum/beacon-APIs
apis/validator/inclusion_list.yaml, apis/validator/duties/inclusion_list.yaml - IL duties, produce/publish IL, event stream
Additional:
Checklist
Types & Core Containers
Storage
Fork Choice
Engine API
Note: Two approaches exist for applying ILs to payload building:
- Approach A: Call FCU with empty IL at slot start, then call FCU again with actual IL once gathered (requires EL to support updating in-flight payload via FCU)
- Approach B: Call FCU once, then use
engine_updatePayloadWithInclusionListV1 to inject IL into in-flight payload
Approach A uses engine_forkchoiceUpdatedV4. Approach B is an alternative if EL doesn't support mid-build FCU updates.
Gossip & P2P
Validator Duties
Beacon REST API
Block Production
Implement FOCIL (EIP-7805)
Spec: EIP-7805 - Fork-Choice enforced Inclusion Lists
Overview
Implement Fork-Choice enforced Inclusion Lists (FOCIL) to enable censorship resistance through committee-based forced transaction inclusion.
Resources
Specification:
Engine API :
src/engine/experimental/eip7805.md- engine_getInclusionListV1, engine_newPayloadV5, engine_forkchoiceUpdatedV4Beacon API :
apis/validator/inclusion_list.yaml,apis/validator/duties/inclusion_list.yaml- IL duties, produce/publish IL, event streamAdditional:
Checklist
Types & Core Containers
Storage
Fork Choice
Engine API
eip7805.md#engine_newpayloadv5, fork-choice.md#new-is_inclusion_list_satisfiedeip7805.md#engine_getinclusionlistv1eip7805.md#engine_newpayloadv5eip7805.md#engine_forkchoiceupdatedv4, fork-choice.md#modified-notify_forkchoice_updatedGossip & P2P
Validator Duties
Beacon REST API
inclusion_list.yamlinclusion_list.yamlduties/inclusion_list.yamleventstream/index.yamlBlock Production