Evaluated on: · Spec revision: 2026-10-07 · 6dac5e7491 · EIP-8081 list: SFI
Scope at the cutoff. EIP-7805 (FOCIL) adds a per-slot committee of 16 validators. Each member gossips a signed inclusion list (IL) of up to 8 KiB of RLP-encoded transactions taken from its mempool view. On the execution side, `engine_newPayload` gains a post-execution check. For every IL transaction not already in the block, the EL checks whether `T.gas <= gas_left` and whether the transaction passes nonce and balance checks against the post-block state. If any such transaction would be valid, the EL returns a new `INCLUSION_LIST_UNSATISFIED` status. The block stays valid, but attesters will not vote for it. The Engine API also gains `engine_getInclusionListV1`, an IL field in `forkchoiceUpdated` `payloadAttributes` for payload building, and an IL-transactions parameter in `newPayload`. There are no EVM, gas, header, transaction-type or system-contract changes; the remaining changes (committee, gossip, equivocation handling and fork choice) are consensus-layer only.
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 7 criteria affected
- Plausible range
- 19–29 (Medium–High)
- Snapshot
- 2026-10-07 · EIP revision
6dac5e7491(2026-10-07)
Score bands · Checklist revision 3
- Low <12
- Medium 12–22
- High ≥23
28 criteria scored 0–3 (4 in exceptional cases; cross-EIP interactions is uncapped); nominal maximum 84.
Complexity profile
Each segment is one criterion's contribution to the LLM total. Hover or focus a segment for its score and rationale.
Top complexity drivers
Under-specified at assessment cutoff: Yes
The EIP text available at the assessment cutoff left material behavior unresolved. The affected criteria and the plausible total range record that uncertainty.
Why: The EL IL-satisfaction check is only described as 'nonce and balance checks'. The supplied text does not specify: the full validity predicate, how the balance requirement is computed, how presence in the block is determined, how undecodable or duplicate entries are handled, or the exact Engine API schemas and versions. The transition-tool and framework requirements are inferred.
Plausible total
19–29
recorded score 25 · plausible tiers Medium, High
Unresolved questions at the cutoff (6)
- Does 'balance check' mean value + gas_limit × max_fee_per_gas (plus blob fees), and against which base fee?
- Do signature, chain ID, max-fee-vs-base-fee, intrinsic-gas and type-specific rules apply when deciding whether a missing IL transaction is 'valid'?
- How are blob transactions (no sidecars) and undecodable or malformed entries in an IL treated?
- Is presence in B determined by transaction hash, and how are duplicates across ILs handled?
- Is the gas-fit check against execution gas only, or also blob gas?
- What are the exact parameters, field names and versions of engine_getInclusionListV1, the payloadAttributes IL field and the newPayload IL parameter?
Notable ambiguities noted by the assessor (4)
- IL satisfaction is not a block-validity rule; it is a separate newPayload status. This blurs whether it counts as transaction validity or syncing.
- The order in which IL transactions are evaluated, and the early-termination rule, could matter if implementations evaluate IL transactions with interdependent effects differently.
- EIP-7547 is a stagnant alternative design used only for comparison and is not part of the baseline.
- Builder-side payload update timing ('exact timings will be defined after running some tests/benchmarks') is left open.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Encoding changes (RLP/SSZ) | 3 | Engine API serialized schemas change: a new IL field in payloadAttributes, a new IL-transactions parameter in newPayload, and a new response schema for getInclusionListV1. |
Confidence: High Uncertainty: Exact JSON field names and versions are not given in the supplied text. |
| Engine API changes | 3 | Endpoint-level changes (a new method and a new newPayload response status) come together with multiple field changes (the payloadAttributes IL and the newPayload IL parameter). |
Confidence: High |
| Security risks | 3 | A shared validation invariant now spans the EL newPayload check, the EL payload builder and CL fork choice. Clients must agree exactly on IL satisfaction for adversarially crafted ILs (malformed or undecodable transactions, edge nonce/balance cases, dependency chains, equivocation-filtered sets). Otherwise blocks are wrongly rejected or censorship is missed. This needs coordinated adversarial scenarios across components. |
Confidence: Medium Uncertainty: Could be argued as level 2 if the check is treated as a bounded EL/CL interaction. |
| Edge/boundary conditionsUnder-specified | 3 | Several boundary-sensitive mechanisms are introduced: gas-fit against `gas_left`, the post-state nonce check, the post-state balance check, and the 8 KiB IL size bound. The satisfaction outcome depends on interacting dimensions that cannot be tested independently. These are: whether the transaction is already in the block, remaining gas, sender nonce and balance as changed by in-block transactions, multiple IL transactions from the same sender, duplicates across ILs, and multiple ILs. |
Confidence: Medium Uncertainty: If gas-fit, nonce and balance are treated as separable conjunctive checks, level 2 would apply. |
| New or modified transaction validity mechanismsUnder-specified | 2 | Block inclusion validity is unchanged, but FOCIL adds a new fork-choice-relevant transaction-validity evaluation: nonce, balance and gas-fit of IL transactions against the post-block state. It needs dedicated cases built from block contents plus IL transactions. Existing validity sequencing can be reused for the nonce and balance checks themselves. |
Confidence: Low Uncertainty: A strict reading (block validity unchanged) gives 0. If coordinated block/IL/state scenarios are judged to need restructured shared construction, it could be 3. |
| Transition-tool interface changesUnder-specified | 2 | To fill IL-satisfaction expectations, the transition tool must accept IL transactions and run a new post-block check: is each transaction present, does `T.gas` fit in `gas_left`, does it pass nonce/balance checks. It must also report the result. That is a new mechanism with at least one new input field. Level 2 is the best-supported score, but adding the output status as a second field would reach level 3. |
Confidence: Low Uncertainty: No transition-tool evidence was supplied. Expected status could instead be hand-specified (lower), or both an IL input and a satisfaction output could be required (level 3). |
| New test-framework primitivesUnder-specified | 2 | Testing needs new abstractions: an IL attachment modifier for blocks/newPayload, a new 'valid but IL-unsatisfied' expectation, and payload-building or getInclusionList tests that depend on mempool state. These are new expectation and construction abstractions within the target's suite (level 2). They do not clearly change how unrelated families are built or checked. |
Confidence: Medium Uncertainty: If the engine fixture format must change for all target-fork fixtures, or a shared mempool/payload-building facility is required, this could reach level 3. |
| Performance risksUnder-specified | 2 | Targeted integrated benchmarks are needed for two bounded interactions. The first is newPayload latency with maximum-size adversarial ILs (many distinct senders forcing cold state reads, invalid signatures). The second is payload-update time in forkchoiceUpdated with ILs under the slot deadline. |
Confidence: Medium Uncertainty: Coupling with attestation deadlines and mempool-driven IL building could justify level 3. |
| Cross-EIP interactionsUnder-specified | 2 | Coordinated cases are needed where IL-transaction validity depends on behavior defined elsewhere. Examples: in-block account-abstraction or delegated-code transactions changing an IL sender's balance or nonce without the sender's own transaction, and IL transactions of other typed formats such as blob-carrying transactions. The supplied text does not name these EIPs. EIP-7547 is only a comparison design and needs no tests. |
Confidence: Low Uncertainty: Interacting EIPs are inferred from unnumbered descriptions. If treated as local compatibility checks, the score would be 1. |
| Unspecified behavior requiring cross-client consensus | 2 | These are localized competing outcomes within the IL-satisfaction check. Clients could disagree on whether a transaction with insufficient max fee or too-low intrinsic gas, a blob transaction, or an undecodable entry makes the IL unsatisfied. Agreement is needed before expected statuses can be fixed. |
Confidence: Medium Uncertainty: Linked consensus-spec or execution-API documents might resolve some of these but were not supplied. |
| Patterns affecting pre-existing testsUnder-specified | 1 | Baseline expected results do not change. Only the engine-API form of baseline blockchain tests needs a changed input: an empty or absent IL passed to the new newPayload variant. That is confined to one family (engine newPayload invocation) and is mechanical. |
Confidence: Medium Uncertainty: If the framework injects an empty IL automatically, no per-test rework is needed (level 0). |
Show 17 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No new opcode. |
|
| Modified opcodes | 0 | No opcode semantics or availability change. |
|
| Added precompiles | 0 | No new precompile. |
|
| Modified precompiles | 0 | No precompile change. |
|
| Added system contracts | 0 | No system contract is introduced. |
|
| Modified system contracts | 0 | No system-contract change. |
|
| EVM Gas rule changes | 0 | Remaining block gas is used only as an input to the IL-satisfaction check. No execution-gas accounting rule or parameter changes. |
|
| State-access ordering within opcode execution | 0 | No instruction's state-access or gas-charge ordering changes, and no new state-accessing operation is introduced in the EVM. |
|
| Blob gas accounting changes | 0 | There are no blob-gas charging, pricing or limit changes. How blob transactions in ILs are treated is a validity or specification question, not accounting. |
Uncertainty: The text does not say whether the balance check includes blob fees or whether the gas check covers blob gas. That is recorded under UNSP, not here. |
| State gas accounting changes | 0 | State-gas accounting does not change. |
|
| New EVM gas refund | 0 | No new refund mechanism. |
|
| New transaction types | 0 | No new transaction type. |
|
| New block / header fields | 0 | No EL block-level or header member is added. The IL is an API-only input. |
|
| Block syncing changes | 0 | There is no execution-block decoding or structural validation change. The IL check affects fork-choice attestation, not block import. |
|
| New fork activation mechanism | 0 | No activation-specific EL state transition. |
|
| New invariant on pre-existing tests | 0 | Baseline tests gain no new output to assert. IL-satisfaction status matters only for tests that supply ILs, which are new feature tests. |
|
| Cryptography | 0 | The EL does not execute any new or changed cryptographic verification, signing or hashing rule. IL signature verification is confined to the CL. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@6dac5e7491EIPS/eip-7805.md committed 2026-10-07 · information cutoff 2026-10-07T22:23:55Z- Rubric
- Checklist revision 3 ·
ethspecs/pm@fe2f793b03 - Evaluator
- Opus 5.5 (
claude-opus-5-5) at high effort, one tool-less call per EIP · isolationbubblewrap_claude_p_no_tools_v1 - Source record
- Frozen research record
research/tasks/10-opus-v3-reassessment/prospective/outputs/assessments/hegota-2026-10-08/eip-7805.yaml· sha256919a70bea4ef - Supporting documents supplied with the EIP
supporting/eip-7547.md