Description
This censorship resistant website tracks topics of interest and lists blockers related to EIP-7805: Fork-choice enforced Inclusion Lists (FOCIL).
Properties
- Committee-based: FOCIL relies on a committee of multiple validators, rather than a single proposer, to construct and broadcast ILs. This approach significantly reduces the surface for bribery and extortion attacks and strengthens censorship resistance.
- Fork-choice enforced: FOCIL incorporates the force-inclusion mechanism into the fork-choice rule, an integral component of the consensus process, thereby preventing any actor from bypassing the system. Attesters vote only for blocks that include transactions from a set of ILs provided by the IL committee and that satisfy the IL constraints. Any block failing to meet these criteria will not be voted on by the attesters, and therefore cannot be canonical.
- Same-slot: With FOCIL running in parallel with the block building process for
slot N+1
duringslot N
, the constraints imposed onblock B
forslot N+1
can include transactions submitted duringslot N
. This represents a strict improvement over forward IL designs like EIP-7547, where the forward property introduced a 1-slot delay. - Conditional inclusion: FOCIL adopts conditional inclusion, accepting blocks that may lack some transactions from ILs if they cannot append the transactions to the end of the block or if they are full.
- Anywhere-in-block: FOCIL is unopinionated about the placement of transactions from ILs within a block. This reduces incentives for sophisticated actors to use side channels to bypass the mechanism. Combined with conditional inclusion, this flexibility makes the emergence of off-protocol markets less attractive.
- No incentive mechanism: FOCIL does not provide explicit rewards for IL committee members participating in the mechanism. We believe that the added complexity of implementing a transaction fee system for FOCIL is not justified. Instead, we rely on altruistic behavior, as FOCIL requires only a
1-out-of-N
honesty assumption from IL committee members for the mechanism to work as intended.
Resources
- EIP-7805: Fork-choice enforced Inclusion Lists (FOCIL): Allow a committee of validators to force-include a set of transactions in every block.
- Fork-Choice enforced Inclusion Lists (FOCIL): A simple committee-based inclusion list proposal: The initial proposal of FOCIL.
- FOCIL CL and EL Workflow: Outline of the latest FOCIL implementation, defines the roles and duties of IL committee members, nodes, proposers, and attesters. We also address potential edge cases (e.g., equivocation, invalidation) and how to mitigate them.
- FOCIL Resource Design Considerations: The resources FOCIL demands throughout an Ethereum slot.
- On Multi-proposer Gadgets and Protocols: A note comparing FOCIL and BRAID, a multiple concurrent proposer design, on their properties and stages of research and development.
- Block construction session: A note placing FOCIL in the context of various block construction mechanisms such as ePBS and APS.
- FOCIL session - Devcon SEA L1 R&D Workshop: A session from Devcon SEA to discuss FOCIL design and implementation.
FOCIL Gallery
This gallery contains notes with problem statements of various subproblems related to FOCIL.
Transaction Invalidation
Other transactions in the execution payload could invalidate transactions in inclusion lists. Invalid transactions should not be written on-chain because it would expose free data availability (DA). How is free DA prevented in FOCIL? How does FOCIL prevent an adversary stuffing the IL with invalid transactions?
Open Problems
- FOCIL Transaction Fee Mechanism: What is the best way to charge fees and distribute these fees for inclusion in the inclusion list? How should “best” be defined?
- Compatibility with other protocol upgrades: We need to assess the potential synergies and conflicts between FOCIL and other protocol upgrades like Account Abstraction (EIP-7702), ePBS (EIP-7732), PeerDAS (EIP-7594), etc.
- IL Size: Inclusion lists must likely be bounded in size to prevent excessive bandwidth usage. How do we determine the optimal size of the inclusion lists?
- Multi-slot MEV Prevention via FOCIL: FOCIL enables multiple proposers to force include transactions into a block. What types of multi-slot MEV does this prevent?