Evaluated on: · Spec revision: 2025-03-24 · 216ebd2f32
Scope at the cutoff. EIP-7892 (Informational, Draft at the assessed revision) defines Blob Parameter Only (BPO) hard forks. These hard forks change only the blob target, the blob limit (max) and baseFeeUpdateFraction. On the execution layer, it extends the EIP-7840 `blobSchedule` client-configuration object so that, besides named forks, it accepts any number of block-timestamp keys at which these parameters may change. On the consensus layer, it adds a `BPO_FORK` epoch/max_blobs configuration. EL and CL schedules must agree: timestamps must align with epoch starts and `max` must equal `max_blobs`. Actual values and schedules are out of scope, and the EIP specifies no new opcode, transaction, header field, Engine API or state-transition change.
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 8 criteria affected
- Plausible range
- 10–24 (Low–Medium–High)
- Assessment cutoff
- 2025-03-25 · EIP revision
216ebd2f32(2025-03-24)
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
- New test-framework primitives2
- Edge/boundary conditions2
- 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: The revision does not define how blob parameter changes apply to excess blob gas and blob base fee across a BPO boundary. It also does not define how timestamp keys resolve against named-fork keys, what counts as a conflict with other fork schedules, or whether BPO forks count as forks for fork-scoped mechanisms such as fork IDs or Engine API versioning. The CL config gives only max_blobs, and the illustrative example contradicts the max-equality requirement.
Plausible total
10–24
recorded score 14 · plausible tiers Low, Medium, High
Unresolved questions at the cutoff (5)
- For the first block at or after a BPO timestamp, is excess_blob_gas computed with the parent's target or the new target, and does the new baseFeeUpdateFraction apply to that block's blob base fee?
- How are timestamp-keyed entries ordered against named-fork entries, and what does 'MUST NOT conflict with other fork schedules' prohibit?
- Does a BPO fork change the fork identifier or any fork-versioned interface (Engine API method versions, t8n fork names)?
- How should clients handle a timestamp entry that omits target or baseFeeUpdateFraction, given that the CL config carries only max_blobs?
- The illustrative CL max_blobs (24) differs from the EL max (48) at the first BPO entry, which contradicts the stated equality requirement.
Notable ambiguities noted by the assessor (4)
- The illustrative example breaks the requirement that EL max equal CL max_blobs (48 vs 24 for the first BPO entry).
- The EIP is typed Informational but implies consensus-relevant parameter switching on the EL.
- The boundary semantics for excess blob gas and the blob base fee update fraction are unspecified.
- No concrete values are given, so testing work for real capacity changes depends on future configuration.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| New test-framework primitivesUnder-specified | 2 | The framework needs a new construction abstraction: a parameter-only fork, or a fork transition at an arbitrary timestamp, defined by (target, max, fraction), possibly several in a row. Blob tests then have to be generated against it and the schedule emitted into client configuration. This sits within the blob-related test suite, so level 2. |
Confidence: Medium Uncertainty: If fork representation is shared across all families and BPO forks require changing it globally, this could reach 3. A plain parameterized fork may only need a local extension (1). |
| Edge/boundary conditionsUnder-specified | 2 | Several boundary-sensitive rules change at each BPO timestamp. (1) The per-block blob-count limit switches to the new max, so blob counts at old max, new max and new max+1 must be tested before and after the boundary. (2) The excess blob gas calculation switches to the new target, including the first block after the boundary. (3) The blob base fee update fraction switches. Consecutive BPO entries and BPO entries next to named forks add cases. These can mostly be tested per parameter, with no clearly elevated matrix, so level 2. |
Confidence: Medium Uncertainty: The rule for computing excess blob gas across the boundary is unspecified. If target and fraction combine with the boundary block in result-changing ways, an elevated matrix could apply. |
| Cross-EIP interactions | 2 | EIP-7840 needs coordinated cases. Schedules that mix named-fork entries (cancun, prague, osaka) with timestamp entries must resolve to the correct parameters, including BPO entries right after a named fork and several BPO entries in a row. Blob pricing rules from the 4844 lineage (excess blob gas, base fee fraction) must be exercised across BPO boundaries. EIP-7594 needs only a local compatibility check. Level 2. |
Confidence: Medium Uncertainty: EIP-4844's blob gas rules are not supplied. Their interaction across BPO boundaries is noted, but its exact semantics are unconfirmed. Interacting EIPs: EIP-7840, EIP-7594 |
| Unspecified behavior requiring cross-client consensus | 2 | Several localized outcomes are open and have competing interpretations. (1) Which target and fraction apply when computing excess blob gas and blob base fee in the first block at or after a BPO timestamp. (2) How timestamp entries resolve against named-fork entries and whether "conflict" means equal timestamps. (3) Whether a BPO fork is a fork for fork-ID or other fork-scoped purposes. Expected results cannot be fixed without agreement. The outcomes are localized to blob parameters and do not require re-baselining across families, so level 2. |
Confidence: Medium Uncertainty: The underlying excess-blob-gas formula from EIP-4844 is not supplied and may settle the boundary question. The example inconsistency may simply be illustrative. |
| Blob gas accounting changesUnder-specified | 1 | Existing blob-gas accounting (excess blob gas from target, blob base fee from the update fraction, per-block max) keeps its rules, but its parameters can now change at any scheduled timestamp. That fits level 1: existing parameters change without a new accounting mechanism. Tests must confirm that the parameters switch at each BPO timestamp. |
Confidence: Medium Uncertainty: The EIP does not say how excess blob gas is computed for the first block after a BPO boundary (parent's or child's target, and whether anything is reset). If a special transition rule were needed, this could be read as a new mechanism (level 2). |
| New or modified transaction validity mechanisms | 1 | Blob-transaction eligibility in a block depends on the block's blob limit and on max_fee_per_blob_gas against the blob base fee. Both now use timestamp-scheduled parameters. Only existing bounds and parameters change, so level 1. |
Confidence: Medium |
| Block syncing changesUnder-specified | 1 | Block import must apply the scheduled max (blob gas used limit) and target (excess_blob_gas header check) according to the block timestamp. The rules are unchanged and only parameter selection changes, so this is scored conservatively at level 1: one changed local validation dimension that sync/import tests across BPO boundaries must exercise. |
Confidence: Low Uncertainty: If parameter-only changes are not treated as rule changes, the score would be 0. If both the blob-gas-used limit and the parent-dependent excess_blob_gas check count as changed rules, it could be scored up to 3. |
| Transition-tool interface changesUnder-specified | 1 | To test BPO behavior, the transition tool must receive the blob schedule, including timestamp-keyed entries, or an equivalent fork/parameter input, because the parameters are no longer fixed by fork name. That is one semantic input (the blob schedule/parameter set) without a new exchange mechanism, so level 1. |
Confidence: Low Uncertainty: No t8n interface evidence is supplied. If the tool already takes a blob schedule, the change could be 0. If it needs separate target/max/fraction fields plus timestamp-based selection logic, it could be 2. |
| Security risksUnder-specified | 1 | The new failure mode is EL/CL schedule mismatch: a different max or misaligned timestamp makes the EL reject blocks the CL accepts, or the reverse. Correct switching can be checked locally against configuration, so level 1. |
Confidence: Medium Uncertainty: The EL/CL consistency invariant could be read as a bounded cross-component interaction needing targeted integration review (2). |
| Performance risksUnder-specified | 1 | Raised blob limits would increase EL blob-handling workload (blob transaction processing and block blob counts), which calls for benchmarking at configured limits. This revision sets no values, so only component-level validation of the parameterised workload is established (level 1). |
Confidence: Low Uncertainty: The real performance work depends on future concrete values, which could require integrated benchmarks (2). |
Show 18 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | None. |
|
| Modified opcodes | 0 | BLOBBASEFEE returns values computed under the new parameters, but its semantics are unchanged. |
|
| Added precompiles | 0 | None. |
|
| Modified precompiles | 0 | None. |
|
| Added system contracts | 0 | None. |
|
| Modified system contracts | 0 | None. |
|
| EVM Gas rule changes | 0 | The EIP changes no execution-gas charging, metering or limit rule. |
|
| State-access ordering within opcode execution | 0 | No instruction's state access or gas-charge ordering changes. |
|
| State gas accounting changes | 0 | No state-gas accounting change. |
|
| New EVM gas refund | 0 | No new refund mechanism. |
|
| New transaction types | 0 | None. |
|
| New block / header fields | 0 | None. |
|
| Encoding changes (RLP/SSZ) | 0 | Client config JSON is not a transaction, block, receipt, Engine API, peer-message or proof codec. The CL config is CL-only. |
|
| New fork activation mechanism | 0 | Rule/constant selection at a timestamp is explicitly excluded from this criterion. |
|
| Engine API changesUnder-specified | 0 | No Engine API field or endpoint changes are specified. |
Uncertainty: The EIP does not say whether a BPO fork changes Engine API method-version selection. It implies not. |
| Patterns affecting pre-existing tests | 0 | The EIP is a scheduling mechanism and sets no values. Baseline Cancun/Prague blob tests keep their inputs and expected results. Tests that need new values belong to whichever future fork sets them. |
Uncertainty: If an Osaka schedule with concrete BPO values were adopted, blob-limit and blob-fee tests that assume fork-constant parameters would need parameterisation. This revision specifies no such values. |
| New invariant on pre-existing tests | 0 | No new output needs asserting in baseline tests. |
|
| Cryptography | 0 | KZG and other cryptographic verification is unchanged. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@216ebd2f32EIPS/eip-7892.md committed 2025-03-24 · information cutoff 2025-03-25T15:44:57Z- 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-7892.yaml· sha2560c6651e84f48 - Supporting documents supplied with the EIP
supporting/eip-7594.md,supporting/eip-7840.md