FOCIL - Fork-Choice Enforced Inclusion Lists
Prevent censorship of Ethereum transactions by sophisticated block builders. A committee of 16 validators per slot can force-include transactions in the next block; non-compliant blocks fail fork-choice and cannot reach finality. The pattern provides no privacy on its own: transactions remain fully visible in the mempool and on chain. It guarantees only that a transaction cannot be censored once it reaches the public mempool.
Prevent censorship of Ethereum transactions by sophisticated block builders. A committee of 16 validators per slot can force-include transactions in the next block; non-compliant blocks fail fork-choice and cannot reach finality. The pattern provides no privacy on its own: transactions remain fully visible in the mempool and on chain. It guarantees only that a transaction cannot be censored once it reaches the public mempool.
- IL committee of 16 validators selected per slot to construct inclusion lists for the following slot.
- Inclusion list is a signed, bounded set of transactions (8 KiB max per member) that the next block must include.
- P2P gossip network propagates signed inclusion lists across the validator set.
- Fork-choice enforcement is the consensus-layer rule: attesters refuse to attest to blocks that fail to satisfy observed ILs.
- Equivocation detection identifies committee members publishing conflicting ILs and discards their contributions.
Guarantees:
- Censorship resistance under builder centralization via a 1-of-16 committee honesty assumption.
- Same-slot inclusion: constraints for slot N+1 include transactions visible in slot N (no one-slot delay).
- Builder flexibility: the builder chooses placement of IL transactions within the block, reducing incentives for side channels.
- Fork-choice enforced: non-compliant blocks receive no attestations and cannot finalize.
Threat model:
- At least one honest and well-connected IL committee member per slot; the P2P network reliably delivers their list before the view-freeze deadline.
- Non-malicious builder with sufficient bandwidth between view freeze (t=9s) and block broadcast; builders disconnected from the committee can miss IL transactions.
- No privacy protection. Transaction details remain publicly visible throughout the process.
- Out of scope: builders that censor the entire mempool before any committee member sees a transaction; encrypted mempools are required to defend against that.
- Additional bandwidth: up to 16 × 8 KiB inclusion-list gossip per slot, plus potential O(n^2) validity checks if naively implemented.
- Liveness risk: insufficient time between view freeze and block broadcast can cause builders to miss ILs, especially for poorly-connected builders.
- Equivocation handling: the P2P rule allows forwarding up to two inclusion lists per committee member, so bandwidth can double in the worst case.
- No explicit incentives: the pattern relies on altruistic behavior; there are no direct rewards for IL committee members.
- Complexity: requires coordinated changes across consensus-layer fork-choice rules, execution-layer validation, and the P2P network.
A bank submits a €5M stablecoin transfer to the public mempool at t=0s of slot N. Transaction details are fully visible to all observers. An IL committee member includes it in their inclusion list and broadcasts at t=8s. At t=9s the view freezes. The slot N+1 builder collects the IL at t=11s and includes the transfer in the block. Attesters verify inclusion at t=4s. Even if the builder would have preferred to censor the payment (for OFAC compliance, MEV extraction, or competitive intelligence), fork-choice enforcement makes censorship non-viable. Privacy impact is zero: the €5M amount, counterparty, and timing remain publicly visible throughout.