Evaluated on: · Spec revision: 2022-02-03 · d38a4add0c
Scope at the cutoff. At the information cutoff, EIP-3860 extended EIP-170 with a 49,152-byte maximum for initcode supplied by creation transactions, CREATE, and CREATE2. It also charged 2 gas per 32-byte initcode word through transaction intrinsic gas and through an extra opcode charge taken before address calculation and initcode execution. Oversized creation transactions became invalid, while an oversized CREATE or CREATE2 returned zero; the stated purpose was to meter linear jump-destination analysis and bound its resource exposure.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 5 criteria affected
- Plausible range
- 21–23 (Medium–High)
- Assessment cutoff
- 2022-02-04 · EIP revision
d38a4add0c(2022-02-03)
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
- Modified opcodes3
- EVM Gas rule changes3
- Edge/boundary conditions3
- State-access ordering within opcode execution2
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 proposal does not fully order an oversized CREATE or CREATE2 size check against the new initcode charge and the pre-existing memory-expansion, base creation, and CREATE2 hash charges. It also leaves the backwards-compatibility reference to includable over-limit transactions insufficiently explicit about whether those are call transactions that reach an opcode rather than creation transactions prohibited by the new validity rule.
Plausible total
21–23
recorded score 23 · plausible tiers Medium, High
Unresolved questions at the cutoff (2)
- On an over-limit CREATE or CREATE2, which of the new initcode charge, memory-expansion gas, base creation gas, and CREATE2 hashcost is deducted before zero is pushed?
- Does the backwards-compatibility statement about includable over-limit transactions refer only to non-creation transactions whose execution invokes CREATE or CREATE2?
Notable ambiguities noted by the assessor (2)
- The opcode oversize-result rule and the opcode gas-charge rule do not specify a complete failure-path ordering.
- The backwards-compatibility phrase about over-limit transactions remaining includable is ambiguous unless read as referring to call transactions that execute CREATE or CREATE2.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodes | 3 | At least two pre-existing opcodes gain a non-gas behavioral failure condition. The rubric's binary modified-opcode anchor therefore requires score 3. |
Confidence: High Uncertainty: The gas consumed before the new zero result is not fully ordered, but the behavioral modification itself is explicit. |
| EVM Gas rule changesUnder-specified | 3 | This is a new gas-accounting mechanism applied through existing transaction intrinsic-gas and opcode-gas mechanisms, including the pre-existing CREATE2 hashcost path. It therefore affects existing mechanisms and their tests, matching score 3. |
Confidence: High Uncertainty: The exact charge ordering for an over-limit CREATE or CREATE2 is not fully explicit, but that does not change the anchor level. |
| Edge/boundary conditionsUnder-specified | 3 | Multiple independent boundaries—word rounding, maximum size, gas sufficiency, and transaction-versus-opcode failure—combine across three creation paths. The resulting cross-product requires an elevated case count, matching score 3. |
Confidence: High Uncertainty: Gas consumption for the over-limit opcode path is not completely ordered, so some expected outcomes cannot be fixed from the text alone. |
| State-access ordering within opcode executionUnder-specified | 2 | The new up-front charge changes the gas-boundary path before address-derived state work for two state-affecting opcodes. This is a multiple-opcode ordering consequence, but it does not redefine recordable access or a broad opcode class, matching score 2. |
Confidence: Medium Uncertainty: The proposal fixes the new charge relative to address calculation and initcode execution, but does not completely order the oversize check, memory expansion, base creation charge, and CREATE2 hashcost against one another. |
| New or modified transaction validity mechanismsUnder-specified | 2 | Two existing creation-transaction validity calculations change and existing cases need updated boundary expectations, but the changes are localized and require no test-infrastructure redesign. This matches score 2. |
Confidence: High Uncertainty: The backwards-compatibility wording about some over-limit transactions being includable is not explicit about whether it means call transactions that invoke a creation opcode rather than creation transactions themselves. |
| Patterns affecting pre-existing tests | 2 | Existing tests across the focused contract-creation category must be reworked for changed gas and failure outcomes. The affected category is considerable but bounded rather than a diverse major share of all tests, matching score 2. |
Confidence: Medium Uncertainty: The package does not enumerate the pre-existing test corpus, so the precise proportion of tests requiring updates is uncertain. |
| Security risks | 2 | Correctness affects a limited set of critical creation paths and changes both resource-exhaustion assumptions and failure behavior for dependent factory designs. This calls for targeted security review and fuzzing, matching score 2 rather than a broad multi-component score 3. |
Confidence: High Uncertainty: The historical text states that the authors did not know whether affected multi-level factory contracts existed, so the practical exposure was uncertain at the cutoff. |
| Performance risks | 2 | Performance validation must cover implementation-specific analysis costs and end-to-end repeated creation workloads, so it is not fully captured by a single isolated arithmetic benchmark. The impact remains confined to contract creation rather than broad execution, matching score 2. |
Confidence: Medium Uncertainty: The package reports benchmark results but does not define a normative performance-validation matrix across implementations and workload shapes. |
| Cross-EIP interactions | 2 | The proposal depends directly on EIP-170's limit and modifies the gas path established by EIP-1014 for CREATE2. Coordinated boundary and gas-order tests are required for these two limited interactions, matching score 2. |
Confidence: High Uncertainty: EIP-3670 is mentioned only as a possible future beneficiary of an extendable cost system, not as a dependency or modified mechanism, so it is not counted. Interacting EIPs: EIP-170, EIP-1014 |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | A test can observe whether an oversized opcode call first pays the new per-word cost and the pre-existing memory, base, and CREATE2 hash costs, or instead returns zero after an earlier size check. Agreement is needed, but the gap is localized to creation-opcode failure ordering, matching score 2. |
Confidence: Medium Uncertainty: The numbered order and normal gas-check conventions may suggest an intended reading, but the historical text does not make that reading normative. |
Show 18 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcode is added, matching score 0. |
|
| Added precompiles | 0 | No precompile is added, matching score 0. |
|
| Modified precompiles | 0 | No existing precompile is modified, matching score 0. |
|
| Added system contracts | 0 | No system contract is added, matching score 0. |
|
| Modified system contracts | 0 | No system contract code, state, or behavior is modified, matching score 0. |
|
| Blob gas accounting changes | 0 | No blob gas accounting is introduced or modified, matching score 0. |
|
| State gas accounting changes | 0 | The new charge is EVM execution gas, not state gas, so score 0 applies. |
|
| New EVM gas refund | 0 | No EVM gas-refund mechanism is introduced, matching score 0. |
|
| New transaction types | 0 | No new transaction type is introduced, matching score 0. |
|
| New block / header fields | 0 | No block or block-header field is introduced, matching score 0. |
|
| Encoding changes (RLP/SSZ) | 0 | No RLP, SSZ, transaction, block, or interface encoding changes, matching score 0. |
|
| Block syncing changes | 0 | Consensus transaction validity changes do not by themselves constitute the new block-RLP validation mechanism required by this anchor, so score 0 applies. |
|
| New fork activation mechanism | 0 | Ordinary activation of new rules is not the activation-block mutation required by this anchor, so score 0 applies. |
|
| Engine API changes | 0 | No Engine API field or endpoint is introduced, matching score 0. |
|
| Transition-tool interface changes | 0 | No transition-tool interface change is required, matching score 0. |
|
| New invariant on pre-existing tests | 0 | Existing creation tests may need changed expectations, which is scored in the preceding criterion, but unrelated pre-existing tests gain no new invariant; score 0 applies. |
|
| New test-framework primitives | 0 | These cases can be expressed using ordinary transaction, opcode, gas, and byte-array test capabilities; no new framework abstraction is indicated, so score 0 applies. |
|
| Cryptography | 0 | Reusing an existing hashing-cost shape does not introduce or modify a cryptographic mechanism, matching score 0. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@d38a4add0cEIPS/eip-3860.md committed 2022-02-03 · information cutoff 2022-02-04- 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/05-retrospective-complexity-assignment/outputs/fork-eips/shanghai/eip-3860.yaml· sha256020762521910 - Supporting documents in the sealed package
supporting/eip-170.md,supporting/eip-1014.md