Evaluated on: · Spec revision: 2023-09-13 · ed54cdb1a7
Scope at the cutoff. EIP-7516 (revision of 2023-09-14) adds one EVM instruction, BLOBBASEFEE, at byte 0x49. It takes no stack inputs, pushes one value and costs a constant 2 gas. The pushed value is get_blob_gasprice(header) from EIP-4844, computed from the current block header's excess_blob_gas. The EIP describes itself as identical to EIP-3198's BASEFEE except for the value it returns. It adds no header fields, transaction rules, encodings or accounting mechanisms. However, in the supplied EIP-4844 text, byte 0x49 is already assigned to BLOBHASH (HASH_OPCODE_BYTE = Bytes1(0x49)), so the two opcode assignments clash.
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 2 criteria affected
- Plausible range
- 5–10 (Low)
- Assessment cutoff
- 2023-09-14 · EIP revision
ed54cdb1a7(2023-09-13)
Score bands · Checklist revision 3
- 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 target assigns opcode byte 0x49 to BLOBBASEFEE. The supplied same-fork prerequisite EIP-4844 assigns the same byte to BLOBHASH (HASH_OPCODE_BYTE = 0x49). Neither document resolves the conflict. Separately, the EIP does not say what happens if get_blob_gasprice exceeds 2^256 (likely unreachable).
Plausible total
5–10
recorded score 5 · plausible tiers Low
Affected criteria (2)
Unresolved questions at the cutoff (2)
- Which instruction executes at byte 0x49 in the target fork: BLOBBASEFEE or BLOBHASH? Is one of them meant to move to a different byte?
- If the computed blob gas price exceeded 2^256 − 1, what would BLOBBASEFEE push (truncate, saturate or fail)?
Notable ambiguities noted by the assessor (3)
- Opcode 0x49 collides with EIP-4844's HASH_OPCODE_BYTE (BLOBHASH) in the supplied revision.
- No overflow handling is specified for a blob gas price above uint256. In practice this is probably unreachable, because blob transactions must cover the price with a uint256 max_fee_per_blob_gas.
- The EIP does not say how the opcode behaves when no blob header data is available. Within the fork, the header fields always exist.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Cross-EIP interactions | 2 | Testing BLOBBASEFEE needs coordinated EIP-4844 block sequences in which blob transactions drive excess_blob_gas, so the opcode's output can be checked against the price used for blob data fees in the same block. The first post-fork block and the opcode-byte coexistence with BLOBHASH also need cases. EIP-3198 needs only local consistency checks. This is coordinated cross-EIP work without multi-EIP restructuring. Level 2. |
Confidence: Medium Interacting EIPs: EIP-4844, EIP-3198 |
| Unspecified behavior requiring cross-client consensus | 2 | In the assessed baseline, two normative rules define different behavior for the same byte, 0x49. One is BLOBBASEFEE (0 inputs, pushes the blob gas price, 2 gas). The other is BLOBHASH (1 input, pushes a versioned hash, 3 gas). Expected results for any bytecode that executes 0x49 cannot be fixed until the specifications or clients agree. This is a localized contradiction, so level 2. A minor further gap is that the EIP does not say what happens if the price exceeds uint256, which is likely unreachable. |
Confidence: Medium Uncertainty: The collision is probably an editorial error, but this revision does not resolve it. |
| Added opcodes | 1 | Exactly one simple instruction is introduced. Level 1. |
Confidence: High Uncertainty: The byte 0x49 clashes with BLOBHASH in the supplied EIP-4844 text. The instruction itself is still simple. |
Show 25 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodesUnder-specified | 0 | Best-supported reading: the target intends to add a new instruction and does not say that BLOBHASH changes. Level 0. Read literally, though, assigning 0x49 to BLOBBASEFEE would remove BLOBHASH at that byte, which would be an availability change (level 3). |
Uncertainty: The opcode-byte collision with BLOBHASH (0x49) is unresolved. If BLOBBASEFEE takes 0x49, BLOBHASH's availability changes and ~OP would be 3. |
| Added precompiles | 0 | Level 0. |
|
| Modified precompiles | 0 | Level 0. |
|
| Added system contracts | 0 | Level 0. |
|
| Modified system contracts | 0 | Level 0. |
|
| EVM Gas rule changes | 0 | A new instruction with a constant cost does not add or change any execution-gas charging, metering, limit or settlement rule. Level 0. |
|
| State-access ordering within opcode execution | 0 | There is no state access, so no ordering rule is added or changed. Level 0. |
|
| Blob gas accounting changes | 0 | Reading the blob gas price does not change blob-gas charging, pricing, limits or settlement. Level 0. |
|
| State gas accounting changes | 0 | No state-gas accounting changes. Level 0. |
|
| New EVM gas refund | 0 | No refund mechanism is introduced. Level 0. |
|
| New transaction types | 0 | Level 0. |
|
| New or modified transaction validity mechanisms | 0 | Level 0. |
|
| New block / header fields | 0 | No header field is added by the target. Level 0. |
|
| Encoding changes (RLP/SSZ) | 0 | Level 0. |
|
| Block syncing changes | 0 | Level 0. |
|
| New fork activation mechanism | 0 | Turning on an opcode at the fork is rule selection only. Level 0. |
|
| Engine API changes | 0 | Level 0. |
|
| Transition-tool interface changes | 0 | Every input the opcode needs is already required by the EIP-4844 baseline. No interface field or mechanism is added. Level 0. |
Uncertainty: No transition-tool documentation was supplied. The assumption is that the prerequisite's environment already carries the excess blob gas. |
| Patterns affecting pre-existing testsUnder-specified | 0 | If the opcode is added at a free byte, as the EIP intends, baseline tests need no rework, beyond the usual treatment of a previously undefined byte. Level 0 is the best-supported reading. If 0x49 actually replaced BLOBHASH, the baseline BLOBHASH test family would need rework. |
Uncertainty: The 0x49 collision with BLOBHASH in the supplied EIP-4844 text could require reworking the BLOBHASH tests (up to level 2). |
| New invariant on pre-existing tests | 0 | Baseline tests need no additional assertion. Level 0. |
|
| New test-framework primitives | 0 | Tests need only an opcode, plus header/environment control over excess_blob_gas, which the EIP-4844 prerequisite already needs. No new abstraction is required. Level 0. |
|
| Security risks | 0 | No new security-sensitive boundary is introduced. Level 0. |
|
| Performance risks | 0 | No additional performance-validation requirement. Level 0. |
Uncertainty: If a client computed fake_exponential on every opcode call instead of caching it, the cost per call could exceed what 2 gas assumes. The EIP's rationale implies the value is precomputed. |
| Edge/boundary conditions | 0 | The target adds no boundary-sensitive rule. Generic opcode boundaries and blob-price value ranges belong to baseline mechanisms. Tests should still cover the price at its minimum and at large excess values. Level 0. |
Uncertainty: The EIP does not specify what happens if get_blob_gasprice exceeds 2^256. This is likely unreachable, because a blob transaction's uint256 max_fee_per_blob_gas must cover the price. |
| Cryptography | 0 | No cryptographic mechanism is introduced or changed. Level 0. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ed54cdb1a7EIPS/eip-7516.md committed 2023-09-13 · information cutoff 2023-09-14- Rubric
- Checklist revision 3 ·
ethspecs/pm@fe2f793b03 - Evaluator
- Opus 5.5 (
claude-opus-5-5) at high effort, one tool-less call per EIP · isolationbubblewrap_claude_p_no_tools_v1 - Source record
- Frozen research record
research/tasks/10-opus-v3-reassessment/retrospective/outputs/assessments/cancun/eip-7516.yaml· sha256625da2c6f0dd - Supporting documents supplied with the EIP
supporting/eip-3198.md,supporting/eip-4844.md