Evaluated on: · Spec revision: 2026-08-25 · ac450a4ab2 · Inclusion status at snapshot: PFI
Scope at the cutoff. Execution-layer assessment of the Draft EIP-8279 snapshot. The proposal extends the EIP-8131 transaction-content floor with per-transaction runtime metering of EIP-7928 BAL bytes, a static per-authorization BAL term, an SSTORE value-byte subtraction, runtime floor OOG checks, and a final max(execution_gas_used, floor_gas_used) charge. System calls and withdrawals remain outside the per-transaction floor and are left to EIP-7928's block-level item buffer.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 2 criteria affected
- Plausible range
- 29–30 (High)
- Snapshot
- 2026-08-25 · EIP revision
ac450a4ab2(2026-08-25)
Score bands · Checklist revision 2
- 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
- Cross-EIP interactions6
- EVM Gas rule changes3
- State-access ordering within opcode execution3
- Patterns affecting pre-existing tests3
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 SSTORE value-byte subtraction is not fully specified across nested call reverts. The text requires an immediate subtraction when a slot returns to its pre-transaction value, says counter changes are not rewound for reverted frames, and also limits the subtraction to the committed path. If a parent writes O to X and a child restores X to O but later reverts, the surviving BAL contains X while a retained child subtraction would omit its 32 value bytes and violate the stated upper-bound invariant.
Plausible total
29–30
recorded score 29 · plausible tiers High
Affected criteria (2)
Unresolved questions at the cutoff (1)
- When an SSTORE subtraction occurs in a child frame that later reverts while an earlier parent-frame write remains live, must the 32-byte subtraction be journaled and undone, deferred until frame commit, or retained?
Notable ambiguities noted by the assessor (2)
- The trigger table requires metering before BAL insertion or state mutation but does not enumerate each hook's exact position relative to all existing gas deductions and state reads; this matters at floor-OOG boundaries.
- The phrase "on the committed path" is not backed by a specified mechanism for identifying commitment at the time an SSTORE returns to the pre-transaction value.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Cross-EIP interactionsExceptional | 6 | The floor and its test matrix strongly depend on or coordinate with EIPs 2935, 3529, 4788, 4844, 4895, 7002, 7251, 7623, 7702, 7928, 7976, 7981, and 8131. The base score is 3; ten interactions beyond the first three yield three complete additional groups of three, adding 3 for a total of 6. Exceptional score: The rubric makes this row uncapped. Thirteen package-grounded interacting EIPs produce base 3 plus three increments for the nine complete additional- interaction positions beyond the first three; the remaining one does not form another group of three. |
Confidence: High Uncertainty: Only interactions identified in the sealed package are counted; indirect protocol ancestry is not expanded further. Interacting EIPs: EIP-2935, EIP-3529, EIP-4788, EIP-4844, EIP-4895, EIP-7002, EIP-7251, EIP-7623, EIP-7702, EIP-7928, EIP-7976, EIP-7981, EIP-8131 |
| EVM Gas rule changes | 3 | A new runtime gas-floor mechanism changes the existing EIP-7623/EIP-8131 charging shape, transaction OOG behavior, and final gas used across existing state-accessing operations, so existing gas tests are affected. |
Confidence: High Uncertainty: The SSTORE subtraction's revert handling is under-specified separately; it does not change that a broad new runtime gas mechanism exists. |
| State-access ordering within opcode execution | 3 | The new consensus-visible floor check is inserted before BAL growth or state mutation for a whole class of state-accessing operations. Its OOG boundary therefore changes whether an access or change occurs across many opcodes. |
Confidence: High Uncertainty: Exact placement relative to every existing gas deduction is not enumerated, increasing implementation uncertainty without reducing the anchored breadth. |
| Patterns affecting pre-existing tests | 3 | Existing gas-boundary and state-transition tests across diverse opcode, revert, creation, delegation, and transaction-content categories require reworking for the runtime floor and its new OOG points. |
Confidence: High Uncertainty: The package provides no existing suite inventory, but the normative trigger table establishes broad impact independent of suite organization. |
| Security risks | 3 | Correctness spans consensus-critical gas, BAL accounting, opcode execution, revert semantics, authorization preprocessing, and block-size DoS bounds. Undercounting or inconsistent OOG placement can break the bound or split clients, requiring extensive review and fuzzing. |
Confidence: High Uncertainty: The unresolved nested-revert subtraction creates a concrete risk, but score 3 is also supported by the otherwise specified multi-component invariant. |
| Edge/boundary conditions | 3 | Multiple mechanisms have elevated boundary matrices: equality around tx.gas, static versus execution domination, access warmth, value and account identity, SSTORE history, nested reverts, creation paths, and code length. |
Confidence: High Uncertainty: One nested-revert/SSTORE boundary is unresolved and is recorded as under-specification; the remaining specified conditions already meet score 3. |
| New EVM gas refundUnder-specified | 2 | This is a new state-dependent reduction of charged floor gas. It is narrower than the global refund counter but affects SSTORE/floor test outcomes and requires per-slot original/current-value tracking, satisfying score 2. |
Confidence: Medium Uncertainty: The package conflicts on whether a subtraction made inside a later-reverted frame is retained or undone; that material gap is recorded below. |
| New or modified transaction validity mechanisms | 2 | The existing floor-validity rule is materially extended for authorization transactions and floor-dominated combinations. Existing cases need limited expected-validity updates, but no new transaction format or testing infrastructure is required. |
Confidence: Medium Uncertainty: Runtime floor OOG is execution failure rather than upfront transaction invalidity; this score is based on the explicit static-floor validity change. |
| Performance risks | 2 | The overhead is integrated with broad existing execution and BAL collection, so it cannot be fully benchmarked in isolation, but the package shows simple arithmetic/counter work and does not establish substantial benchmark impact. |
Confidence: Medium Uncertainty: No implementation benchmark of the metering overhead is packaged. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | A constructible nested-frame sequence can charge a parent write, subtract in a child that restores the pre-transaction value, then revert the child so the parent write remains in the BAL. The text does not determine whether the subtraction must be undone, deferred, or retained. Agreement is required, but the gap is localized to SSTORE value-byte accounting across reverts. |
Confidence: High Uncertainty: The package contains no rule resolving this conflict; no external or later information was used. |
Show 18 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcode is added. |
Uncertainty: The metering hook is internal client logic, not an instruction. |
| Modified opcodes | 0 | Existing operations acquire gas-floor hooks, but their non-gas results are not modified; this anchor explicitly excludes gas changes. |
Uncertainty: OOG reachability is scored under gas and ordering anchors. |
| Added precompiles | 0 | No precompile is added. |
Uncertainty: Precompile creation is outside the specified mechanism. |
| Modified precompiles | 0 | No pre-existing precompile is modified. |
Uncertainty: Calls to accounts are covered generically; no precompile-specific change is stated. |
| Added system contracts | 0 | No new system contract is introduced. |
Uncertainty: Existing system contracts are boundary cases, not additions. |
| Modified system contracts | 0 | The exclusion does not change any existing system contract's code, state transition, or call behavior, directly or indirectly. |
Uncertainty: Their BAL-size interaction is counted under cross-EIP interactions. |
| Blob gas accounting changes | 0 | Blob versioned hashes are already part of the inherited static transaction floor, but EIP-8279 makes no change to blob gas accounting itself. |
Uncertainty: No blob-gas mechanism is described in the proposal. |
| State gas accounting changes | 0 | The proposal changes the ordinary transaction gas floor, not StateGasCosts, per-state-byte write rates, a block state-gas budget, or its spill path. |
Uncertainty: No state-gas construct defined by this anchor appears in the package. |
| New transaction types | 0 | No transaction type is added. |
Uncertainty: Existing transaction types receive the floor rule. |
| New block / header fields | 0 | No block or header field is introduced by EIP-8279. |
Uncertainty: EIP-7928's BAL commitment is baseline behavior, not a new field here. |
| Encoding changes (RLP/SSZ) | 0 | No transaction, block, or interface encoding changes are introduced. |
Uncertainty: The EIP-7928 BAL encoding is an inherited input, not changed here. |
| Block syncing changes | 0 | No block RLP validation mechanism requiring client syncing is introduced. |
Uncertainty: EIP-7928 supplies the underlying BAL transport, but EIP-8279 does not modify that encoding surface. |
| New fork activation mechanism | 0 | Per-transaction initialization is not a fork-activation state or internal- variable modification under this anchor. |
Uncertainty: The package gives no special activation-block procedure. |
| Engine API changes | 0 | The proposal requires no Engine API change beyond its EIP-7928 baseline. |
Uncertainty: No Engine API section or new payload field appears in EIP-8279. |
| Transition-tool interface changes | 0 | No new transition-tool input or output field, and no interface mechanism, is specified. |
Uncertainty: Tool implementations must calculate the rule internally, but the package does not require an interface change. |
| New invariant on pre-existing tests | 0 | The proposal changes expected execution and gas outcomes, which is counted as test rework above, but introduces no new persisted artifact that unrelated pre-existing tests must additionally assert. |
Uncertainty: The package does not describe harness-wide assertion policy; an internal counter alone does not establish a new assertion for every existing test. |
| New test-framework primitives | 0 | The specified cases do not establish a need for a new expectation type, modifier, or permanent framework primitive. |
Uncertainty: The package contains no test-framework design, so only the absence of a demonstrated new primitive can be scored. |
| Cryptography | 0 | The proposal introduces or modifies no cryptographic mechanism. |
Uncertainty: No cryptographic operation is in the proposal's scope. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ac450a4ab2EIPS/eip-8279.md committed 2026-08-25 · information cutoff 2026-08-25T11:56:58Z- Rubric
- Checklist revision 2 ·
ethspecs/pm@3d8c0128c5 - Evaluator
- gpt-5.6-sol at xhigh reasoning effort · isolation
bubblewrap_one_eip_capsule_v1 - Source record
- Frozen research record
research/tasks/08-hegota-prospective-complexity-assessment/outputs/assessments/hegota-pfi-2026-08-26/eip-8279.yaml· sha256593c5f9f7de3 - Supporting documents in the sealed package
supporting/eip-2935.md,supporting/eip-3529.md,supporting/eip-4788.md,supporting/eip-4844.md,supporting/eip-7002.md,supporting/eip-7251.md,supporting/eip-7623.md,supporting/eip-7702.md,supporting/eip-7928.md,supporting/eip-7976.md,supporting/eip-7981.md,supporting/eip-8131.md