Evaluated on: · Spec revision: 2025-03-26 · d4a7453aac
Scope at the cutoff. This revision of EIP-7918 changes one consensus function: EIP-4844's `calc_excess_blob_gas()`. Under the old rule, the parent's blob gas used is added to the excess and `TARGET_BLOB_GAS_PER_BLOCK` is subtracted. Under the new rule, that subtraction is skipped when `TX_BASE_COST * parent.base_fee_per_gas` is greater than `TARGET_BLOB_GAS_PER_BLOCK * get_base_fee_per_blob_gas(parent)`. This links the blob fee update to the execution base fee and stops the blob base fee from staying far below the execution cost of a blob-carrying transaction. The EIP adds no transactions, header fields, opcodes, precompiles, system contracts or Engine API changes. Its effect reaches clients through header validation of `excess_blob_gas` and through every value derived from the blob base fee.
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 5 criteria affected
- Plausible range
- 10–16 (Low–Medium)
- Assessment cutoff
- 2025-03-26 · EIP revision
d4a7453aac(2025-03-26)
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
- Blob gas accounting changes3
- Block syncing changes2
- Cross-EIP interactions2
- Unspecified behavior requiring cross-client consensus2
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: TX_BASE_COST is used in the consensus condition but is not defined in the target or in the supplied EIP-4844. The EIP uses the 4844 constant TARGET_BLOB_GAS_PER_BLOCK and get_base_fee_per_blob_gas(parent) without saying which fork's target and update fraction apply on the Prague baseline or at the fork-boundary block.
Plausible total
10–16
recorded score 13 · plausible tiers Low, Medium
Unresolved questions at the cutoff (3)
- What is the value of TX_BASE_COST: the 21000 intrinsic transaction gas or something else?
- Which target and update-fraction parameters apply (4844 constants or later fork-dependent values) for parent blocks on a Prague baseline?
- For the first Osaka block, whose parent is a Prague block, does the new rule apply when computing the child's excess_blob_gas?
Notable ambiguities noted by the assessor (4)
- TX_BASE_COST is undefined in the supplied documents.
- The strict '>' comparison sends the exact-parity case to the subtracting branch. Tests should cover equality.
- get_base_fee_per_blob_gas(parent) uses the parent's excess_blob_gas, so the comparison is made on parent-block fees, not on the child's fees. The Rationale lists alternatives using the updated fees, which are not normative.
- How the fork-dependent blob parameters on the Prague baseline relate to the 4844 constant names is unspecified in the supplied text.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Blob gas accounting changesUnder-specified | 3 | A new rule bounds the blob base fee by execution cost and links blob pricing to the execution base fee. It replaces the baseline excess update in the execution-fee-led regime, so baseline expectations for excess_blob_gas and the blob base fee change. This meets level 3. |
Confidence: Medium Uncertainty: This could be read as a change to an existing rule (level 1) rather than a new mechanism. There is no new gas type or fee; it is a new conditional regime. |
| Block syncing changes | 2 | Exactly one complex structural validation rule changes. The excess_blob_gas header check depends on several parent fields and must be tested through block import, including rejection of headers that use the old formula. |
Confidence: Medium |
| Cross-EIP interactionsUnder-specified | 2 | Coordinated cases with EIP-4844 are needed. They are multi-block sequences in which parent execution base fee and blob usage push excess_blob_gas into either regime, followed by checks of the blob fee charged and of max_fee_per_blob_gas validity in the following blocks. The execution base fee (EIP-1559 mechanism, not in the candidate list) is also coupled. |
Confidence: Medium Uncertainty: Counting the EIP-1559 base-fee coupling as a separate interacting EIP could support level 3. Interacting EIPs: EIP-4844 |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | The value of TX_BASE_COST decides which branch is taken and therefore the consensus-visible excess_blob_gas. It is undefined in the supplied documents, and its name allows competing values, such as an intrinsic gas of 21000 or something else. Which target and update-fraction values apply at the Prague→Osaka fork-boundary block is also not stated. Expected results cannot be fixed until clients and the specification agree. |
Confidence: Medium Uncertainty: An absent document might define TX_BASE_COST, so this is partly an evidence gap. The name strongly suggests the base intrinsic transaction cost, which would make this level 1. |
| Patterns affecting pre-existing testsUnder-specified | 1 | Rework is limited to tests of excess_blob_gas and blob base fee evolution whose parameters fall in the execution-fee-led regime (high parent base fee, low blob base fee). These are parameter cases within one family. |
Confidence: Medium Uncertainty: How many baseline vectors fall in that regime depends on the default base fees in the tests and on the undefined value of TX_BASE_COST. If typical fixtures use a high base fee, rework could extend to ordinary cases (level 2). |
| New test-framework primitives | 1 | The existing helper that computes excess blob gas or blob base fee needs a local extension. No new abstraction is required. |
Confidence: Medium |
| Security risks | 1 | The new consensus arithmetic, including the large products of base fee and constant, can be checked locally. No other component's security assumptions change. |
Confidence: Medium |
| Edge/boundary conditions | 1 | One boundary-sensitive mechanism: the fee-parity comparison, including the equality case and its interaction with the zero floor and with fake_exponential rounding. It depends on parent base fee, excess and blob gas used, but it is still a single mechanism. |
Confidence: Medium |
Show 20 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | None. |
|
| Modified opcodes | 0 | No opcode semantics change. Any opcode that reports the blob base fee keeps its semantics; only the header input changes. |
|
| Added precompiles | 0 | None. |
|
| Modified precompiles | 0 | None. |
|
| Added system contracts | 0 | None. |
|
| Modified system contracts | 0 | None. |
|
| EVM Gas rule changes | 0 | No execution-gas accounting rule changes. The execution base fee is read but not modified. |
|
| State-access ordering within opcode execution | 0 | No opcode's state-access or gas-charge ordering changes. |
|
| State gas accounting changes | 0 | No state-gas accounting changes. |
|
| New EVM gas refund | 0 | No new refund. |
|
| New transaction types | 0 | None. |
|
| New or modified transaction validity mechanisms | 0 | No transaction-validity rule changes. Blob transactions near the fee threshold are covered as interaction cases, not as a new validity rule. |
|
| New block / header fields | 0 | Only the value of an existing field changes. |
|
| Encoding changes (RLP/SSZ) | 0 | No schema changes. |
|
| New fork activation mechanism | 0 | Only rule selection at the fork boundary. No activation-specific state transition. |
|
| Engine API changes | 0 | No Engine API fields or endpoints change. |
|
| Transition-tool interface changesUnder-specified | 0 | The calculation needs only parent header values that the baseline already uses, so no interface change is established. |
Uncertainty: No transition-tool interface documentation was supplied. If the tool does not already pass the parent base fee to the excess calculation, one field could be needed (level 1). |
| New invariant on pre-existing tests | 0 | Only existing values change, which counts as rework, not a new assertion. |
|
| Performance risks | 0 | No additional performance validation is required. |
|
| Cryptography | 0 | No cryptographic change. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@d4a7453aacEIPS/eip-7918.md committed 2025-03-26 · information cutoff 2025-03-26T23:25:10Z- 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/osaka/eip-7918.yaml· sha256bf2b7cc57c53 - Supporting documents supplied with the EIP
supporting/eip-4844.md