Evaluated on: · Spec revision: 2023-09-13 · ed54cdb1a7
Scope at the cutoff. At the 2023-09-14 information cutoff, this Draft EIP specified one new constant-cost EVM opcode, BLOBBASEFEE at 0x49, which takes no stack input and pushes the current block's EIP-4844 blob gas price. It deliberately follows EIP-3198's BASEFEE design and says the value is already available before EVM execution, so it adds no new blob-pricing formula, transaction type, header field, or state access. In the sealed package, however, EIP-4844 also assigns 0x49 to BLOBHASH, and the EIP does not settle that opcode conflict or the representation of a blob gas price wider than an EVM stack word.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 6 criteria affected
- Plausible range
- 8–15 (Low–Medium)
- Assessment cutoff
- 2023-09-14 · EIP revision
ed54cdb1a7(2023-09-13)
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 interactions2
- Unspecified behavior requiring cross-client consensus2
- Added opcodes1
- EVM Gas rule changes1
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: Material localized under-specification is present. The sealed EIP-7516 and required EIP-4844 revisions assign incompatible behaviors to opcode 0x49, and EIP-7516 specifies only a small byte32 example without defining how an integer result wider than one EVM stack word is handled.
Plausible total
8–15
recorded score 9 · plausible tiers Low, Medium
Unresolved questions at the cutoff (3)
- Which opcode number and behavior should prevail when EIP-7516 specifies BLOBBASEFEE at 0x49 but the required EIP-4844 specifies BLOBHASH there?
- Is BLOBBASEFEE intended to add a relocated opcode, replace or relocate BLOBHASH, or otherwise amend EIP-4844?
- What result must be pushed if get_blob_gasprice(header) is wider than 256 bits, and are all such inputs excluded by another validity rule?
Notable ambiguities noted by the assessor (2)
- Opcode 0x49 has incompatible definitions in EIP-7516 and the packaged EIP-4844 revision.
- The EIP does not specify conversion or failure behavior if the referenced integer blob gas price exceeds the width of one EVM stack item.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Cross-EIP interactionsUnder-specified | 2 | The BASEFEE analogy is limited, but the EIP-4844 dependency and opcode collision require coordinated specification and testing. The interaction is confined to two identified EIPs and a small surface, so score 2 fits better than the extensive multi-EIP coordination required by score 3. |
Confidence: High Uncertainty: The package does not say how the 0x49 collision is intended to be resolved. Interacting EIPs: EIP-3198, EIP-4844 |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | Clients cannot baseline byte 0x49 until the localized opcode-allocation conflict is resolved, and they also need a common interpretation for an over-wide integer result. These are localized decisions requiring client agreement, which matches score 2; they do not redefine a broad class of previously unobservable behavior. |
Confidence: High Uncertainty: The package contains neither an amendment resolving the allocation nor a bound or conversion rule that removes the result-width question. |
| Added opcodesUnder-specified | 1 | On its stated design this is exactly one simple constant-cost opcode, matching score 1. |
Confidence: Medium Uncertainty: The claimed new opcode number collides with EIP-4844's BLOBHASH allocation; the primary score follows EIP-7516's stated intent to add an opcode, while a resolution could instead require relocation or modification of BLOBHASH. |
| EVM Gas rule changes | 1 | Adding a constant gas-schedule entry for one opcode updates the existing per-opcode EVM gas mechanism; it does not create a new or dynamic gas accounting mechanism. This matches score 1. |
Confidence: High |
| Patterns affecting pre-existing testsUnder-specified | 1 | Existing invalid-opcode coverage for byte 0x49, and any EIP-4844 BLOBHASH vectors at this shared cutoff, cannot retain their prior expected behavior. This is a narrow subset of EVM tests rather than a broad validation-pattern rewrite, matching score 1. |
Confidence: Medium Uncertainty: The package does not include a pre-existing test corpus, and EIP-4844's own Test Cases section is TBD, so the exact number of affected vectors is not established. |
| Security risks | 1 | An incorrect opcode result could cause contracts or users relying on it to account for blob costs incorrectly, but the mechanism is self-contained, publicly checkable, and does not alter an existing security invariant. This matches score 1 rather than a broader interaction score. |
Confidence: Medium Uncertainty: The EIP gives use cases rather than a concrete dependent-contract design, so the magnitude of downstream economic harm is not quantified. |
| Edge/boundary conditionsUnder-specified | 1 | The single boundary-prone mechanism is mapping the calculated integer into one 256-bit EVM stack word, particularly at the word-width limit. This is one localized boundary axis and matches score 1. |
Confidence: Medium Uncertainty: The package does not state what BLOBBASEFEE does if the referenced integer is wider than one EVM stack word, nor does it establish whether every such value is reachable under valid-header rules. |
Show 21 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodesUnder-specified | 0 | The EIP does not normatively say that BLOBHASH or any other pre-existing opcode is modified or deprecated. The allocation conflict is scored as under-specification and cross-EIP interaction rather than treating an unstated conflict resolution as a modification. |
Uncertainty: If 0x49 were intended to replace EIP-4844's BLOBHASH rather than being a mistaken allocation, this anchor would be 3 under its binary definition. |
| Added precompiles | 0 | No precompile is introduced by EIP-7516. |
|
| Modified precompiles | 0 | No pre-existing precompile is modified. |
|
| Added system contracts | 0 | No system contract is introduced. |
|
| Modified system contracts | 0 | No existing system contract's code, state, or behavior is directly or indirectly modified. |
|
| State-access ordering within opcode execution | 0 | The opcode reads no account or storage state and introduces no gas charge relative to a state access, so no state-access ordering changes. |
|
| Blob gas accounting changes | 0 | Exposing an already-defined price is not an update to blob gas accounting and introduces no new blob gas accounting mechanism. The anchor therefore remains at 0. |
|
| State gas accounting changes | 0 | No state-gas cost, charging site, budget, reservoir, or execution-gas spill behavior is introduced or modified. |
|
| New EVM gas refund | 0 | No gas-refund mechanism is introduced, so score 0 applies. |
|
| New transaction types | 0 | EIP-4844's blob transaction is a dependency, not a new transaction type introduced by EIP-7516. |
|
| New or modified transaction validity mechanisms | 0 | Reading the existing blob gas price from EVM code does not add or modify a transaction validity mechanism. |
|
| New block / header fields | 0 | No block or header field is introduced by this EIP. |
|
| Encoding changes (RLP/SSZ) | 0 | No encoding change at the transaction, block, or interface level is introduced. |
|
| Block syncing changes | 0 | No RLP validation mechanism requiring client syncing is introduced by this EIP. |
|
| New fork activation mechanism | 0 | Opcode availability at the containing fork does not itself modify state or an internal variable at the activation block, so score 0 applies. |
|
| Engine API changes | 0 | No Engine API field, endpoint, or communication mechanism is introduced. |
|
| Transition-tool interface changes | 0 | EIP-7516 requires the EVM to expose context already supplied by its EIP-4844 dependency; it specifies no additional transition-tool field or interface mechanism. |
Uncertainty: The package does not specify an actual transition-tool interface, so this score relies on the EIP's statement that the value is already available. |
| New invariant on pre-existing tests | 0 | Tests not concerned with this opcode gain no additional invariant to assert, so score 0 applies. |
|
| New test-framework primitives | 0 | Existing opcode execution, stack, and gas assertions can express the proposed test; no new framework abstraction is required. |
|
| Performance risks | 0 | A constant-cost stack push of an already-computed contextual value does not introduce a mechanism requiring separate performance validation. |
|
| Cryptography | 0 | Although EIP-4844 contains cryptography elsewhere, EIP-7516 neither invokes nor changes it; no cryptographic mechanism is attributable to this EIP. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ed54cdb1a7EIPS/eip-7516.md committed 2023-09-13 · information cutoff 2023-09-14- 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-7516.yaml· sha256b2785dc0b9ff - Supporting documents in the sealed package
supporting/eip-3198.md,supporting/eip-4844.md