Evaluated on: · Spec revision: 2026-10-07 · 6dac5e7491 · EIP-8081 list: CFI
Scope at the cutoff. EIP-8116 changes the on-chain receipt so that, after activation, each receipt records the transaction's own `gasUsed` instead of the running block total `cumulativeGasUsed`. As a result, the serialized receipt contents and the `receiptsRoot` commitment change for every block with more than one transaction. The EIP also changes the JSON-RPC `logIndex` so it counts within each receipt instead of across the block. It says this second part is RPC-only. The EIP does not change gas charging, transaction validity, headers, opcodes, precompiles or system contracts.
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 5 criteria affected
- Plausible range
- 8–14 (Low–Medium)
- 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
- Encoding changes (RLP/SSZ)3
- Block syncing changes1
- Transition-tool interface changes1
- Patterns affecting pre-existing tests1
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 EIP does not define 'gasUsed' precisely or give the exact receipt encoding (whether the field keeps its position, type or name). The RPC logIndex change is described, but the exact activation semantics for RPC on pre-fork blocks are not.
Plausible total
8–14
recorded score 9 · plausible tiers Low, Medium
Unresolved questions at the cutoff (4)
- Is per-transaction gasUsed the gas charged to the sender (after refunds and floors), or a block-accounting gas value?
- Does gasUsed replace cumulativeGasUsed in the same RLP position with the same type in all typed receipts?
- Does 'receipts emitted after this EIP activates' mean all receipts in blocks at or after the fork block?
- Does the logIndex change apply to pre-fork blocks served over RPC?
Notable ambiguities noted by the assessor (3)
- Whether 'gasUsed' means the pre-refund or post-refund amount is unstated.
- The receipt RLP layout after the change is not given explicitly.
- The logIndex change is RPC-only, but whether it applies to historical blocks is unspecified.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Encoding changes (RLP/SSZ) | 3 | The meaning of a serialized field in the EL receipt (the object committed in receiptsRoot and exchanged between peers) changes from cumulative to per-transaction gas. That is a change to a receipt schema field. |
Confidence: Medium Uncertainty: The EIP does not say whether the field keeps its position and type or the receipt layout otherwise changes. |
| Block syncing changesUnder-specified | 1 | Block import must now check `receiptsRoot` against receipts built with the new semantics, and receipt data exchanged during sync has a different meaning after the fork. This is treated as one changed validation rule. |
Confidence: Low Uncertainty: This could be seen as an ordinary execution-result change (level 0). Alternatively, receipts-root checks depend on execution and could be called complex (level 2). |
| Transition-tool interface changes | 1 | The transition tool's receipt output changes the meaning of one field (cumulative gas → per-transaction gas), depending on the fork. No new exchange mechanism is needed. |
Confidence: Medium Uncertainty: No transition-tool schema was supplied, so whether the output keeps the field name or adds a new one is not evidenced. |
| Patterns affecting pre-existing testsUnder-specified | 1 | Expected `receiptsRoot` values for multi-transaction blocks change, but filling the fixtures again regenerates them without changing test inputs or steps. Hand-written rework is limited to the receipt-focused cases that explicitly assert cumulative gas across multi-transaction blocks. That is a localized subset of one family. |
Confidence: Medium Uncertainty: If many baseline families explicitly assert per-receipt cumulative gas, the rework could reach level 2. |
| Security risks | 1 | Building receipts with the wrong semantics, especially around the fork boundary, would cause a receiptsRoot mismatch and a consensus split. This can be checked locally through receipt-root comparison. |
Confidence: Low Uncertainty: This could be scored 0 because it is a plain consensus-value change. |
| Cross-EIP interactions | 1 | Each baseline transaction/receipt type and the existing gas-settlement rules only need local compatibility checks that the new per-transaction value is used correctly. No coordinated cross-EIP scenarios are required. No candidate EIPs were supplied. |
Confidence: Medium Uncertainty: The definition of gasUsed may depend on baseline refund and floor rules not supplied here. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 1 | The exact definition of the per-transaction gasUsed and its encoding details are omitted. The rationale supports one intended reading (the RPC receipt's gasUsed), so this is a localized omission. |
Confidence: Medium Uncertainty: If the baseline separates block-level gas from user-charged gas, competing readings could push this to level 2. |
Show 21 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | None added. |
|
| Modified opcodes | 0 | No opcode semantics change. |
|
| Added precompiles | 0 | None added. |
|
| Modified precompiles | 0 | None modified. |
|
| Added system contracts | 0 | None added. |
|
| Modified system contracts | 0 | None modified. |
|
| EVM Gas rule changes | 0 | No execution-gas charging, metering, limit or settlement rule changes. Only the value recorded in the receipt changes. |
|
| State-access ordering within opcode execution | 0 | No opcode ordering or access-list rule changes. |
|
| Blob gas accounting changes | 0 | No blob-gas accounting change. |
|
| State gas accounting changes | 0 | No state-gas accounting change. |
|
| New EVM gas refund | 0 | No new refund mechanism. |
|
| New transaction types | 0 | None. |
|
| New or modified transaction validity mechanisms | 0 | None. |
|
| New block / header fields | 0 | No new header member. |
|
| New fork activation mechanism | 0 | Only a fork-dependent rule selection is needed. No one-time state transition. |
|
| Engine API changes | 0 | No Engine API field or endpoint changes. |
|
| New invariant on pre-existing tests | 0 | No new output is added. The changed receipt value is rework under PAT, not a new assertion. |
|
| New test-framework primitivesUnder-specified | 0 | The existing receipt expectation and receipts-root checks are enough. Only the expected value changes, depending on the fork. |
Uncertainty: If the framework computes receipts or receipt roots itself, it may need a small fork-aware extension (level 1). |
| Performance risks | 0 | No new or larger workload needs performance validation. |
|
| Edge/boundary conditionsUnder-specified | 0 | No new boundary-sensitive rule. Cases such as single-transaction blocks (where the value is unchanged) and the fork transition block are ordinary coverage points. |
Uncertainty: The fork-transition block could be treated as one boundary-sensitive mechanism (level 1). |
| Cryptography | 0 | Only the encoded message bytes change. The trie and hashing rules stay the same. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@6dac5e7491EIPS/eip-8116.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-8116.yaml· sha25606550b2c1876