Evaluated on: · Spec revision: 2026-08-25 · ac450a4ab2 · Inclusion status at snapshot: PFI
Scope at the cutoff. Assessment of the sealed Draft EIP-8148 snapshot, limited to its execution-layer surface: the new EIP-7685 request type, stateful request predeploy, transaction-call paths, fee and queue processing, mandatory post-block system call, request encoding, and execution-block validity effects. Consensus-layer threshold storage, deposit interpretation, validator validation, and withdrawal processing are boundary context only and are not scored.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 1 criterion affected
- Plausible range
- 26–27 (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
- Encoding changes (RLP/SSZ)3
- New fork activation mechanism3
- Patterns affecting pre-existing tests3
- Security risks3
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 predeploy address and its synthetic deployment transaction, sender, and resulting address remain TBD. This is one localized deployment/activation gap: it blocks exact test baselines but is not counted again as added-contract, fork-activation, or security complexity.
Plausible total
26–27
recorded score 27 · plausible tiers High
Affected criteria (1)
Unresolved questions at the cutoff (2)
- What exact value replaces SET_SWEEP_THRESHOLD_REQUEST_PREDEPLOY_ADDRESS?
- What exact signed synthetic deployment transaction, sender, and address establish the required code and inhibitor storage before FORK_BLOCK?
Notable ambiguities noted by the assessor (2)
- The request prose says threshold is returned little-endian, while add-call input is big-endian and the pseudocode stores and slices the packed value without an explicit byte-to-uint conversion; the supplied bytecode appears intended to perform the output byte reversal, but the pseudocode notation is not independently explicit.
- SYSTEM_TRANSACTION_GAS is named in the system-call text but not listed in the EIP-8148 constants table; its numeric value of 30,000,000 is nevertheless explicit.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Encoding changes (RLP/SSZ) | 3 | A new SSZ-encoded request payload is introduced at the block/interface request layer, meeting the rubric's binary score-3 condition. |
Confidence: High Uncertainty: The outer EIP-7685 envelope is unchanged, but the new type's payload encoding is consensus-visible block/interface data. |
| New fork activation mechanism | 3 | The activation block performs a new mandatory state transition in the predeploy, satisfying the rubric's binary score-3 condition. |
Confidence: High Uncertainty: The exact predeploy address and deployment transaction are TBD, but the fork-block state-changing call is explicit. |
| Patterns affecting pre-existing tests | 3 | Existing post-fork block/state-transition cases across transaction, gas-boundary, invalid-block, and synchronization categories must incorporate the mandatory call, predeploy state, and request output, so a diverse major subset is reworked. |
Confidence: Medium Uncertainty: The package contains no test inventory, so the exact fraction of pre-existing vectors is uncertain even though the every-block transition is explicit. |
| Security risks | 3 | The mechanism spans transaction execution, persistent queue/fee state, mandatory privileged execution, block validity, and EIP-7685 request commitments. Failure can affect chain liveness and cross-layer integrity, so multiple critical components need extensive review and fuzzing. |
Confidence: High Uncertainty: Consensus-layer authorization and threshold effects are excluded; score 3 is supported by execution-layer block-validity and liveness exposure alone. |
| Edge/boundary conditions | 3 | Multiple independent boundary-prone mechanisms combine: calldata length and value, dynamic fee/inhibitor arithmetic, queue head-tail arithmetic and reset, the 16-request cap, endian packing, fork-first-call behavior, and fatal system-call outcomes. The cross-product requires an elevated case count. |
Confidence: High Uncertainty: Exact deployment artifacts are TBD, but the specified boundary set already meets score 3. |
| Cross-EIP interactions | 3 | EIP-8148 strongly depends on 7251 for compounding-validator semantics and on 7685 for transport and commitment. It coexists with the 7002 and 7251 request predeploys and has explicit gas-semantic exceptions for 1559 and 7825. These five interactions span request ordering/hash, end-of-block execution, gas rules, and validator-request semantics, requiring coordinated cross-EIP tests. Five interacting EIPs do not reach the rubric's first +1 threshold, which starts at six. |
Confidence: High Uncertainty: EIP-7002 is partly a design analogue, but mixed request ordering and shared system-call processing make its interaction test-relevant. Interacting EIPs: EIP-1559, EIP-7002, EIP-7251, EIP-7685, EIP-7825 |
| Added system contracts | 2 | Exactly one new system contract is introduced, and it is both stateful and triggers a new execution-to-consensus request action. |
Confidence: High Uncertainty: The address and deployment transaction are TBD, but the contract's stateful role is unambiguous. |
| New invariant on pre-existing tests | 2 | A broad set of post-fork request-aware vectors gains mechanical expected-output and commitment checks for type 0x03. The stable empty-request hash prevents this from forcing a new non-empty assertion in every test or re-deriving pre-fork vectors. |
Confidence: Medium Uncertainty: The sealed package does not describe the test harness, so whether all broad request assertions are already generic is not established. |
| Performance risks | 2 | Contract paths can be benchmarked individually, but block-wide cost includes mandatory execution, state-dependent fee work, request serialization, and interaction with transaction-populated queue state. The dequeue cap bounds the expected impact, making it limited rather than substantial. |
Confidence: Medium Uncertainty: The package supplies no benchmark or bound on fake_exponential iterations under reachable excess values. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | Clients cannot baseline activation, call-target, empty-code, or deployment-state tests until the exact predeploy and deployment artifacts are agreed. The gap is material but localized, and it does not expose a previously unobservable legacy behavior. |
Confidence: High Uncertainty: The behavioral contract is otherwise detailed; remaining agreement is concentrated in deployment and activation identity. |
| EVM Gas rule changes | 1 | EIP-8148 extends an existing special system-call gas-accounting pattern to one new mandatory call. This updates the set of calls using the existing mechanism rather than creating a distinct gas-accounting mechanism. |
Confidence: Medium Uncertainty: The gas exclusions are explicit, but the rubric does not state whether another instance of an existing system-call pattern should be treated as a mechanism update or a new mechanism. |
Show 17 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | EIP-8148 adds contract code, not an opcode. |
Uncertainty: No opcode addition is specified. |
| Modified opcodes | 0 | No pre-existing opcode behavior is modified or deprecated. |
Uncertainty: System-call gas treatment is scored under gas rules and does not change an opcode result. |
| Added precompiles | 0 | No precompile is introduced. |
Uncertainty: The deployment details are incomplete but the component type is explicit. |
| Modified precompiles | 0 | No precompile logic or gas schedule is modified. |
Uncertainty: No precompile interaction is specified in the package. |
| Modified system contracts | 0 | Adding an independent request producer does not directly or indirectly modify an existing system contract's behavior. |
Uncertainty: Cross-type request ordering changes the aggregate request list, but not the behavior of the pre-existing contracts themselves. |
| State-access ordering within opcode execution | 0 | Contract-level SLOAD and SSTORE sequencing is new program behavior, not a change to the consensus semantics or internal state-access ordering of any opcode. |
Uncertainty: No package evidence indicates an opcode-internal ordering change. |
| Blob gas accounting changes | 0 | The execution-layer proposal does not alter blob gas accounting. |
Uncertainty: No blob mechanism appears in any specified EIP-8148 execution path. |
| State gas accounting changes | 0 | Persistent contract storage is introduced, but no state-gas accounting rule is changed. |
Uncertainty: No rubric-defined state-gas mechanism is specified in the package. |
| New EVM gas refund | 0 | The request fee is value paid to a contract, not an EVM gas-refund mechanism. |
Uncertainty: No refund behavior is introduced by the execution-layer specification. |
| New transaction types | 0 | The request type is an EIP-7685 request type, not a new transaction type. |
Uncertainty: No transaction-format change is specified. |
| New or modified transaction validity mechanisms | 0 | Contract-call success rules and system-call validity do not modify transaction validity or intrinsic gas calculation. |
Uncertainty: No txpool or transaction-envelope validation change appears in EIP-8148. |
| New block / header fields | 0 | No new execution-layer block/header field is introduced by this EIP. |
Uncertainty: Consensus-layer container changes are outside the required execution-layer scoring scope. |
| Block syncing changes | 0 | The proposal changes block validity through request processing, but not the rubric-specific block RLP validation mechanism. |
Uncertainty: No RLP change is present in the sealed EIP-8148 execution specification. |
| Engine API changes | 0 | No new Engine API field, endpoint, or communication mechanism is specified. |
Uncertainty: Engine API mechanics are not discussed in EIP-8148, so the zero rests on the sealed generic EIP-7685 carrier. |
| Transition-tool interface changes | 0 | The existing EIP-7685 request mechanism can carry type 0x03 without a specified tool-interface change. |
Uncertainty: The EIP does not describe transition-tool integration explicitly. |
| New test-framework primitives | 0 | Existing request-contract and state-transition test primitives are sufficient for the analogous new type. |
Uncertainty: The package does not enumerate available framework helpers, but it specifies no novel expectation type or modifier. |
| Cryptography | 0 | No new or modified cryptographic mechanism is part of EIP-8148's execution-layer behavior. |
Uncertainty: EIP-7685 hashing is an existing framework behavior, not introduced by EIP-8148. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ac450a4ab2EIPS/eip-8148.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-8148.yaml· sha2560ef82fc7342b - Supporting documents in the sealed package
supporting/eip-1559.md,supporting/eip-7002.md,supporting/eip-7251.md,supporting/eip-7685.md,supporting/eip-7825.md