Evaluated on: · Spec revision: 2022-12-07 · c282a9bd3e
Scope at the cutoff. At the 2022-12-08 information cutoff, EIP-1153 added two constant-cost EVM opcodes, TLOAD and TSTORE, backed by contract-private transient storage that is shared across the owning contract's frames and discarded after each transaction. The proposal specified storage-like addressing, call-type ownership, nested-revert rollback, and static-context behavior without changing existing opcode semantics or using the refund counter. It also supplied a map-and-journal reference design and analyzed worst-case memory allocation and revert work.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 4 criteria affected
- Plausible range
- 15–16 (Medium)
- Assessment cutoff
- 2022-12-08 · EIP revision
c282a9bd3e(2022-12-07)
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
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 normative TLOAD sentence says that after fetching a word the opcode "pops" the value on top of the stack, conflicting with its SLOAD-like load role and failing to state the expected pushed result. The intended reading is strongly signaled, but literal cross-client vectors require agreement; address lifecycle and whether gas values are fixed or referential are also not fully explicit.
Plausible total
15–16
recorded score 15 · plausible tiers Medium
Unresolved questions at the cutoff (3)
- Does TLOAD push the fetched word, despite the normative sentence saying it pops a value?
- Is transient storage identity strictly address-keyed if an address is destroyed and recreated within one transaction?
- Are both opcode costs fixed at 100 gas, or do they track the named warm/dirty SSTORE and hot SLOAD referent costs?
Notable ambiguities noted by the assessor (3)
- The TLOAD specification says it fetches a word and then "pops" the value instead of specifying a pushed result.
- The warm/hot cost analogies and parenthetical 100-gas values do not clearly state whether the schedule is referential or fixed.
- The state-access-ordering anchor is rubric-sensitive because the EIP calls the map state while expressly excluding persistent storage and any cold/warm access-recording rule.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Edge/boundary conditionsUnder-specified | 3 | Several independent boundary-prone mechanisms combine: transaction lifetime, same- versus cross-owner frames, CALL/STATICCALL versus DELEGATECALL/CALLCODE, success versus nested revert, and static write failure. The ownership-by-call-type and nested-revert matrix requires an elevated number of cases, meeting score 3. Exceptional score: Not applicable; score 4 is not used. |
Confidence: High |
| Added opcodesUnder-specified | 2 | Two new opcodes are introduced. Each has fixed-size stack operands, no data portion, and a constant cost, so they are multiple simple opcodes and match score 2. Exceptional score: Not applicable; score 4 is not used. |
Confidence: High Uncertainty: The TLOAD result sentence has a normative stack-action typo, recorded under under-specification, but it does not make the opcode structurally complex. |
| EVM Gas rule changesUnder-specified | 2 | The two opcodes add new execution-gas charging sites, so this is a new EVM gas rule. Their fixed 100-gas schedule neither changes an existing opcode's accounting nor introduces refunds, matching score 2 rather than score 3. Exceptional score: Not applicable; score 4 is not used. |
Confidence: High Uncertainty: The wording does not make fully explicit whether the costs are permanently 100 or track the named warm/hot referent costs, but that does not change the anchor score at the cutoff. |
| Security risks | 2 | The mechanism touches a limited but meaningful set of existing components: call-context ownership, reversion, static execution, reentrancy patterns, and node memory. These slightly alter assumptions for contracts using the feature and warrant targeted review and fuzzing, but the EIP does not alter existing opcode invariants broadly enough for score 3. Exceptional score: Not applicable; score 4 is not used. |
Confidence: Medium Uncertainty: The document analyzes hazards qualitatively but includes no packaged implementation or security-test results. |
| Performance risks | 2 | Loads and normal stores can be benchmarked directly, but total cost cannot be validated wholly in isolation because checkpoints, nested reverts, and transaction-wide allocation interact with call execution and journaling. The EIP's comparison to existing worst cases supports limited rather than substantial benchmark impact, matching score 2. Exceptional score: Not applicable; score 4 is not used. |
Confidence: High Uncertainty: The package supplies complexity bounds and gas-limit examples but no measured client benchmarks. |
| Cross-EIP interactions | 2 | Coordinated consideration with EIP-2200 and EIP-3529 is required for the referenced gas schedule and deliberate refund separation; EIP-20 supplies a limited contract-level use-case interaction. The dependencies are real but narrow and do not modify those EIPs' mechanisms, matching score 2 rather than extensive score-3 interdependence. Exceptional score: Not applicable; score 4 is not used. |
Confidence: High Uncertainty: Unnumbered draft-opcode allocation and future-storage-design references are preserved separately and not inferred. Interacting EIPs: EIP-20, EIP-2200, EIP-3529 |
| Patterns affecting pre-existing tests | 1 | Existing invalid- or undefined-opcode coverage for the two assigned bytes needs localized rework, but existing contract and opcode-behavior tests are otherwise unaffected. That is a minor subset under score 1. Exceptional score: Not applicable; score 4 is not used. |
Confidence: Medium Uncertainty: The historical EIP does not inventory the pre-existing test corpus; the affected invalid-opcode subset is inferred directly from assigning the two opcode bytes. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 1 | A few localized details are imperfectly specified, most notably the self-contradictory TLOAD result action. The SLOAD analogy, the word "fetches," and the reference implementation make the intended behavior obvious enough for score 1, but clients still need a shared correction or interpretation before baselining literal opcode tests. Exceptional score: Not applicable; score 4 is not used. |
Confidence: Medium Uncertainty: Same-transaction address destruction/recreation and whether the 100-gas values are fixed or referential are also not expressly resolved. |
Show 20 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodes | 0 | No pre-existing opcode behavior is modified or deprecated. |
|
| Added precompiles | 0 | No precompile is introduced. |
|
| Modified precompiles | 0 | No pre-existing precompile is modified. |
|
| Added system contracts | 0 | No system contract is introduced. |
|
| Modified system contracts | 0 | No pre-existing system contract code, state, or behavior is modified directly or indirectly. |
|
| State-access ordering within opcode execution | 0 | The text introduces no cold/warm recording, block-level access-list effect, or change to gas-versus-access ordering for an existing opcode. Transient map access is the new opcodes' result mechanism, but the proposal provides no recordable persistent-state access whose internal ordering changes under this anchor. |
Uncertainty: The proposal calls transient storage "state"; this assessment treats its non-persistent, fixed-cost map access as outside the rubric's recordable state-access-ordering concern. |
| Blob gas accounting changes | 0 | No blob gas accounting is introduced or modified. |
|
| State gas accounting changes | 0 | The EIP adds ordinary EVM execution-gas charges but no persistent-state byte charge, state-gas budget, reservoir, charging site, or spill rule. |
|
| New EVM gas refund | 0 | No new refund mechanism is introduced; avoiding refunds is a central design choice. |
|
| New transaction types | 0 | No new transaction type is introduced. |
|
| New or modified transaction validity mechanisms | 0 | Existing transaction validity and intrinsic gas calculations are unchanged. |
|
| New block / header fields | 0 | No new block body or header field is introduced. |
|
| Encoding changes (RLP/SSZ) | 0 | No RLP, SSZ, or other transaction/block/interface encoding changes are introduced. |
|
| Block syncing changes | 0 | No block RLP validation mechanism requiring sync testing is introduced. |
|
| New fork activation mechanism | 0 | Opcode availability changes at the fork, but there is no special activation-block state transition or variable modification. |
|
| Engine API changes | 0 | No Engine API communication change is introduced. |
|
| Transition-tool interface changes | 0 | The feature requires no new transition-tool field or interface mechanism. |
|
| New invariant on pre-existing tests | 0 | Tests that do not execute TLOAD or TSTORE produce no transient values and gain no new externally asserted result or invariant. |
|
| New test-framework primitives | 0 | These cases can be constructed as EVM programs and multi-transaction tests using existing execution-test concepts; the EIP requires no new expectation type, modifier, or permanent framework abstraction. |
Uncertainty: The package contains no description of the historical test framework, so this is judged from the required observable cases. |
| Cryptography | 0 | No cryptographic mechanism is introduced or modified. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@c282a9bd3eEIPS/eip-1153.md committed 2022-12-07 · information cutoff 2022-12-08- 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/cancun/eip-1153.yaml· sha25662ef329ab004 - Supporting documents in the sealed package
supporting/eip-20.md,supporting/eip-2200.md,supporting/eip-3529.md