Evaluated on: · Spec revision: 2026-08-25 · ac450a4ab2 · Inclusion status at snapshot: PFI
Scope at the cutoff. Draft execution-layer EIP-8253 in the sealed Hegotá snapshot. It specifies a one-time fork-activation transition that sets the nonce to 1 for a fixed Mainnet list of 28 zero-nonce, empty-code, non-empty-storage accounts, preserves all other account fields, runs before system calls and transactions, consumes no gas, and conditionally records the changes in an EIP-7928 block-level access list. The referenced account-list and methodology assets are not present in the assessment package.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 2 criteria affected
- Plausible range
- 19–21 (Medium)
- 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 interactions4
- New fork activation mechanism3
- Edge/boundary conditions3
- Transition-tool interface changes2
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 fixed Mainnet account list and the methodology that normatively constructs and verifies it are referenced but absent from the sealed assessment sources. Consequently, the exact transition inputs, byte-equality check, and reproducible list verification cannot be assessed or turned into exact vectors package-locally.
Plausible total
19–21
recorded score 20 · plausible tiers Medium
Affected criteria (2)
Unresolved questions at the cutoff (3)
- What are the exact 28 address entries and hashes in the normative Mainnet list?
- What complete procedure and fork-state inputs determine byte-equality for that list?
- How are non-Mainnet lists finalized and independently verified for their activation state?
Notable ambiguities noted by the assessor (2)
- The EIP names a designated fork block but does not provide its block number, timestamp, or an explicit transition-tool activation signal.
- The EIP requires byte equality with the methodology output while the methodology and target-list assets are outside the sealed evidence set.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Cross-EIP interactionsExceptional | 4 | Eight numbered EIPs require coordinated consideration: 161 and 684 define the historical and active creation invariants; 7610 is the alternative collision rule; 2935, 4788, 7002, and 7251 create four separate activation-order cases; and 7928 adds a conditional BAL and replay case. This exceeds the first three interacting EIPs by five, yielding one uncapped +1 increment. Exceptional score: A score above 3 is justified by eight package-explicit interactions, each with its own dependency, alternative-rule, activation-order, or BAL-coordination surface; under the rubric, EIPs four through six add one point beyond the score-3 multiple-EIP anchor. |
Confidence: High Uncertainty: EIP-7523 is cited only as design precedent and is excluded because the proposal does not depend on, modify, or conflict with it. Interacting EIPs: EIP-161, EIP-684, EIP-2935, EIP-4788, EIP-7002, EIP-7251, EIP-7610, EIP-7928 |
| New fork activation mechanism | 3 | The EIP performs a consensus state modification at the activation block, which directly meets the binary score-3 anchor. |
Confidence: High Uncertainty: The exact designated fork identifier is not supplied, but the activation-only state mutation is unambiguous. |
| Edge/boundary conditions | 3 | Multiple boundaries require coverage: activation versus adjacent blocks, listed versus unlisted accounts, the three account-shape exclusions, CREATE/CREATE2/CALL outcomes, EIP-7928 active versus inactive, and ordering before four named pre-execution system-call mechanisms. The fixed 28-account batch and conditional BAL path elevate the case count. |
Confidence: High Uncertainty: Exact per-account vectors cannot be enumerated because the referenced list is not included in the package, but the multiplicity of specified boundaries is clear. |
| Transition-tool interface changes | 2 | Transition tooling needs a fork-activation-only mechanism, including the applicable chain list, rather than merely processing ordinary per-block input. This is a new interface-level activation mechanism, even though the EIP does not prescribe multiple fields. |
Confidence: Medium Uncertainty: The EIP does not define the transition-tool interface or how the account list is supplied, so an implementation might encode activation and the list in fork configuration rather than add an explicit input field. |
| Security risksUnder-specified | 2 | The new mechanism touches a limited set of state accounts but changes a security-relevant creation invariant. A wrong list can either leave collision risk or mutate an unintended account, requiring targeted multi-client review and verification. |
Confidence: Medium Uncertainty: The referenced list and methodology are absent, so their reproducibility and validation complexity cannot be assessed from the package. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | The transition rule is clear once an account list is fixed, but the sealed proposal evidence does not determine the exact accounts or the complete construction procedure. That localized input must be agreed and baselined before exact state-root and per-account vectors can be written. |
Confidence: Medium Uncertainty: This scores the package-visible specification gap, not an assumption about implementations, devnets, or discussion status, which are prohibited evidence. |
| Patterns affecting pre-existing tests | 1 | A narrow subset of existing fork-transition or creation-collision vectors that include a targeted account must update expected post-state behavior; unrelated tests and non-targeted accounts are unchanged. |
Confidence: Medium Uncertainty: The package contains no inventory of pre-existing tests, so the affected subset is inferred only from the narrowly scoped state predicate and fixed list. |
| New invariant on pre-existing tests | 1 | Existing tests that cross activation with a targeted account gain a narrow additional post-state invariant for the nonce and preservation of other fields. |
Confidence: Medium Uncertainty: The sealed evidence does not establish whether any non-EIP-specific test already contains a targeted account at activation. |
| New test-framework primitives | 1 | Existing state and call expectations appear sufficient, but the framework needs a minor activation-context extension or helper to apply and inspect a one-time pre-execution transition. |
Confidence: Medium Uncertainty: The package provides no test-framework description, so it is unclear whether an existing fork-transition primitive already suffices without extension. |
| Performance risks | 1 | The bounded activation batch and state-root update warrant isolated validation, but the work is fixed and does not alter ongoing execution performance. |
Confidence: High Uncertainty: The missing account asset prevents package-local measurement, though the EIP states the batch size is 28. |
Show 18 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcode is added. |
Uncertainty: No opcode addition appears in the sealed text. |
| Modified opcodes | 0 | The EIP changes pre-execution state, not opcode semantics. Different creation outcomes for targeted addresses follow from the existing nonce-collision rule. |
Uncertainty: The proposal explicitly frames EIP-684 as the unchanged rejection mechanism. |
| Added precompiles | 0 | No precompile is introduced. |
Uncertainty: No precompile surface is present. |
| Modified precompiles | 0 | No precompile logic or gas schedule is modified. |
Uncertainty: No precompile interaction is specified. |
| Added system contracts | 0 | No system contract is introduced. |
Uncertainty: The targeted accounts are state-transition inputs, not a newly deployed system contract. |
| Modified system contracts | 0 | The proposal establishes sequencing relative to existing system contracts but changes neither their code nor their state or behavior. |
Uncertainty: The package does not identify any targeted address as a system-contract address; no indirect behavioral effect is specified. |
| EVM Gas rule changes | 0 | The EIP introduces no EVM gas-accounting rule; its nonce writes are an irregular, gas-free activation transition. |
Uncertainty: No gas-accounting ambiguity is visible in the sealed text. |
| State-access ordering within opcode execution | 0 | No opcode's internal state-access or gas-charge ordering changes. The state is mutated before opcode execution, after which existing creation logic observes the new nonce. |
Uncertainty: The proposal specifies block-level ordering, not an opcode-level ordering change. |
| Blob gas accounting changes | 0 | The proposal does not mention or modify blob gas accounting. |
Uncertainty: No blob-gas surface is present in the sealed proposal. |
| State gas accounting changes | 0 | The EIP neither adjusts a state-gas rate nor adds a state-gas charging site; the one-time state write is unmetered. |
Uncertainty: No state-gas budget, rate, reservoir, or spill rule is specified. |
| New EVM gas refund | 0 | No gas-refund mechanism is introduced or modified. |
Uncertainty: No refund behavior is present in the sealed proposal. |
| New transaction types | 0 | No transaction type is introduced. |
Uncertainty: The state mutation is explicitly outside transaction processing. |
| New or modified transaction validity mechanisms | 0 | No transaction validity rule or intrinsic-gas calculation changes. A creation transaction can execute and revert because of existing collision semantics, which is not a new transaction-validity mechanism. |
Uncertainty: The proposal specifies execution outcome, not transaction admission validity. |
| New block / header fields | 0 | No block or header field is introduced. |
Uncertainty: A changed value for the existing state root is not a new header field. |
| Encoding changes (RLP/SSZ) | 0 | The proposal supplies values to an already specified BAL encoding and does not change transaction, block, or interface encoding. |
Uncertainty: Updating an account's nonce changes encoded state data, not an encoding format covered by this anchor. |
| Block syncing changes | 0 | No block-RLP validation mechanism is introduced. |
Uncertainty: State-root changes alone do not constitute the block-RLP mechanism scored by this anchor. |
| Engine API changes | 0 | EIP-8253 changes the contents of an existing conditional BAL mechanism; it adds no Engine API field, endpoint, or communication mechanism of its own. |
Uncertainty: No EIP-8253-specific Engine API change is specified. |
| Cryptography | 0 | No new or modified cryptographic mechanism is introduced. |
Uncertainty: The proposal uses existing hashes only as list provenance and BAL-related data. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ac450a4ab2EIPS/eip-8253.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-8253.yaml· sha2564f7d3be5b622 - Supporting documents in the sealed package
supporting/eip-161.md,supporting/eip-684.md,supporting/eip-2935.md,supporting/eip-4788.md,supporting/eip-7002.md,supporting/eip-7251.md,supporting/eip-7523.md,supporting/eip-7610.md,supporting/eip-7928.md