Evaluated on: · Spec revision: 2022-12-05 · 7eac5f7f4a
Scope at the cutoff. At the information cutoff, this draft introduced an EIP-2718 blob-carrying transaction whose signed payload used SSZ and whose network form additionally carried blobs, KZG commitments, and an aggregate proof. It added a block-header excess-data-gas field, an independent data-gas fee market and burn, a DATAHASH opcode, and a KZG point-evaluation precompile. It also assigned blob persistence and availability to the consensus layer through separately propagated sidecars and changed execution-layer transaction propagation to announcement and on-demand retrieval.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 13 criteria affected
- Plausible range
- 44–52 (High)
- Assessment cutoff
- 2022-12-08 · EIP revision
7eac5f7f4a(2022-12-05)
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
- Blob gas accounting changes3
- New transaction types3
- New or modified transaction validity mechanisms3
- New block / header fields3
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 gaps remain in consensus-test inputs and interface behavior: the mainnet KZG setup is TBD; DATAHASH behavior outside blob transactions is not stated; blob receipt encoding is absent; malformed blob-wrapper and precompile cases are not fully determined; the Blob representation differs between the EIP and its linked cryptographic specification; and Engine API and transition-tool schemas are not defined. The Test Cases section is also TBD, and detailed consensus specifications are represented in the capsule only by a directory listing plus the polynomial document.
Plausible total
44–52
recorded score 48 · plausible tiers High
Affected criteria (13)
- Added opcodes (1)
- Added precompiles (1)
- Blob gas accounting changes (3)
- New or modified transaction validity mechanisms (3)
- Encoding changes (RLP/SSZ) (3)
- Block syncing changes (2)
- Engine API changes (1)
- Transition-tool interface changes (3)
- New test-framework primitives (2)
- Security risks (3)
- Edge/boundary conditions (3)
- Cryptography (3)
- Unspecified behavior requiring cross-client consensus (2)
Unresolved questions at the cutoff (8)
- What does DATAHASH return when the current transaction has no blob_versioned_hashes field?
- What exact ReceiptPayload and receipt encoding apply to the new EIP-2718 transaction type?
- What are the canonical mainnet trusted-setup contents and roots-of-unity preset used by all clients and vectors?
- How are short, long, non-canonical, or otherwise malformed point-precompile inputs rejected?
- Which blob and wrapper malformations are rejected, at what validation stage, and with which per-transaction size limit?
- Is Blob canonically an SSZ vector of uint256 field elements or a fixed byte vector at the execution/network boundary?
- Which Engine API and transition-tool fields carry the new header, blob, commitment, and validation information?
- Does calc_data_fee use its parent argument where its body refers to header, and which block's excess value prices a transaction?
Notable ambiguities noted by the assessor (5)
- The EIP defines Blob as a vector of BLSFieldElement values, while the linked polynomial document defines Blob as a fixed byte vector; canonical boundary serialization is not reconciled in the packaged text.
- calc_data_fee accepts parent but calls get_data_gasprice(header), leaving the intended argument name and pricing reference implicit.
- DATAHASH reads tx.message.blob_versioned_hashes without defining behavior for legacy or other typed transactions that do not have that member.
- EIP-2718 requires typed receipt payloads to be defined by their transaction EIPs, but this draft does not define the blob transaction receipt payload.
- Mainnet KZG_SETUP_G1, KZG_SETUP_G2, and KZG_SETUP_LAGRANGE values are TBD despite their critical-security status.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Blob gas accounting changesUnder-specified | 3 | This is a new blob-gas accounting mechanism with persistent block state, its own target and pricing curve, transaction balance checks, fee caps, deduction, and burn. Its header and block-validity consequences affect ordinary block-processing and regression vectors, satisfying anchor 3. |
Confidence: High Uncertainty: The pricing pseudocode contains a header/parent naming inconsistency, but the existence and breadth of the mechanism are unambiguous.
|
| New transaction types | 3 | A new transaction type is explicitly introduced, which receives the criterion's binary anchor-3 score. |
Confidence: High |
| New or modified transaction validity mechanismsUnder-specified | 3 | The new type brings several mutually dependent structural, cryptographic, fee, and wrapper-validity rules that require new encoders, proof fixtures, and invalid- case infrastructure. This is extensive test redesign under anchor 3. |
Confidence: High Uncertainty: Receipt encoding, malformed blob handling, and some applicability details are absent, so exact invalid-case expectations require agreement.
|
| New block / header fields | 3 | A new block-header field is explicitly introduced, so the binary anchor-3 score applies. |
Confidence: High |
| Encoding changes (RLP/SSZ)Under-specified | 3 | The proposal makes encoding changes at transaction, network-interface, execution- payload, and block-header levels. Encoding changes are binary-scored at anchor 3. |
Confidence: High Uncertainty: The EIP's Blob type differs in presentation from the byte-vector Blob type in the packaged polynomial specification, leaving a serialization detail to reconcile.
|
| Transition-tool interface changesUnder-specified | 3 | Representing blob transactions and the new header result requires multiple new interface fields, while data-gas accounting is a new transition mechanism. This matches anchor 3, although the draft does not name a concrete transition-tool API. |
Confidence: Medium Uncertainty: The exact transition-tool field layout and whether KZG validation is performed inside or outside that interface are unspecified.
|
| Patterns affecting pre-existing tests | 3 | Existing transaction, block/header, fork-transition, networking, syncing, and execution/consensus integration patterns require reworking across diverse test categories. That is a major, non-contrived regression surface and meets anchor 3. |
Confidence: High Uncertainty: The historical draft's Test Cases section is TBD, so the exact inventory of affected pre-existing suites is not stated.
|
| Security risksUnder-specified | 3 | The proposal alters assumptions across critical execution, consensus availability, P2P, fee-accounting, and cryptographic components. Failure can invalidate blocks, accept unavailable or uncommitted data, or expose nodes to resource attacks, so extensive cross-component review and fuzzing are required under anchor 3. |
Confidence: High Uncertainty: The unresolved trusted setup and malformed-input semantics are themselves material review items, but the risk tier is already clear.
|
| Performance risks | 3 | End-to-end behavior combines cryptographic computation, mempool admission, execution validation, consensus propagation, syncing, and storage. It cannot be fully benchmarked in isolation and substantially changes existing network and block-processing paths, satisfying anchor 3. |
Confidence: High |
| Edge/boundary conditionsUnder-specified | 3 | Numerous independent boundaries combine across transaction shape, blob count, fees, header recurrence, field encoding, proof verification, and opcode indices. Cryptographic and pricing boundaries require an elevated matrix of cases, meeting anchor 3. |
Confidence: High Uncertainty: Some malformed-input outcomes are not fully specified, increasing rather than reducing the boundary-testing burden.
|
| CryptographyUnder-specified | 3 | Multiple new cryptographic mechanisms must be tested: KZG commitment and point verification plus a custom aggregated-proof protocol and its transcript, all dependent on a trusted setup. The custom aggregate construction supplies the novel component required by anchor 3. |
Confidence: High Uncertainty: Mainnet trusted-setup contents are still TBD in the packaged cryptographic specification, which affects final vectors but not this complexity classification.
|
| Cross-EIP interactions | 3 | Five identified EIPs interact with the proposal across transaction envelopes, fee semantics, access lists, header layout, and P2P propagation. The especially strong EIP-2718 and EIP-5793 coupling and the multi-EIP header/transaction matrix require coordinated testing, supporting base anchor 3. Five interactions do not reach the first uncapped bonus threshold of six, so no +1 is added. |
Confidence: High Interacting EIPs: EIP-1559, EIP-2718, EIP-2930, EIP-4895, EIP-5793 |
| Block syncing changesUnder-specified | 2 | The RLP header extension is not merely structural: sync validation must derive its value from the parent and blob content, while the associated block data is split into sidecars. This is best treated as a single complex block-validation change under anchor 2. |
Confidence: Medium Uncertainty: Detailed consensus sync rules are delegated to a linked directory whose packaged directory entry lists files but does not expose their contents other than the polynomial-commitment document.
|
| New invariant on pre-existing tests | 2 | A broad category of pre-existing block tests must mechanically assert the new header field and its recurrence even when blob behavior is not their subject. The text does not establish that every test or pre-fork vector must be re-derived, so anchor 2 is the best fit rather than anchor 3. |
Confidence: Medium Uncertainty: The proposal does not describe the historical test harness or enumerate which vector families materialize complete headers.
|
| New test-framework primitivesUnder-specified | 2 | Existing transaction-test primitives cannot by themselves express blob fixtures, SSZ/network dual encodings, and KZG proof expectations. New reusable builders and expectations are required within the EIP suite, fitting anchor 2; the sealed text does not establish permanent reuse by other EIPs. |
Confidence: Medium Uncertainty: The EIP's Test Cases section is TBD and does not describe the test framework, so the precise primitive boundary is inferred from required fixture construction.
|
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | Several constructable cases cannot be baselined from the draft alone, including non-blob DATAHASH execution, malformed precompile/wrapper inputs, blob receipt encoding, and final KZG preset data. These gaps require agreement but are localized to new mechanisms; they do not make a previously unobservable existing behavior consensus-critical, so anchor 2 fits better than anchor 3. |
Confidence: High Uncertainty: Detailed consensus and interface specifications are referenced but not present beyond a directory listing and the polynomial-commitment file in the sealed package.
|
| Added opcodesUnder-specified | 1 | This is one simple opcode with no variable data portion, simple stack behavior, and constant gas, exactly matching anchor 1. |
Confidence: Medium Uncertainty: The result when DATAHASH executes in a non-blob transaction is not stated because those transactions lack the referenced blob_versioned_hashes member.
|
| Added precompilesUnder-specified | 1 | The precompile has constant input layout and constant gas, so it is simple under this anchor; its substantial cryptographic complexity is separately scored. |
Confidence: High Uncertainty: Exact malformed-length failure handling is not explicit, but it does not make input length or gas dynamic.
|
| EVM Gas rule changes | 1 | The normal EVM gas mechanism is extended with fixed charges for one opcode and one precompile, but no new execution-gas meter or interaction with existing EVM gas rules is introduced. The independent data-gas mechanism is scored in its dedicated criterion, leaving this at the anchor-1 existing-mechanism update. |
Confidence: High |
| Engine API changesUnder-specified | 1 | At minimum, the new execution-payload header value must cross the execution and consensus boundary as one additional payload field, matching anchor 1. The draft does not specify additional Engine API endpoints or an explicit interface schema. |
Confidence: Low Uncertainty: Engine API directives are not named, and the transport and validation split for blob commitments and sidecars is not defined in the packaged text.
|
Show 8 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodes | 0 | No pre-existing opcode result or behavior changes. |
|
| Modified precompiles | 0 | No pre-existing precompile is modified. |
|
| Added system contracts | 0 | No system contract is introduced; the cryptographic execution facility is scored as a precompile instead. |
|
| Modified system contracts | 0 | No pre-existing system contract is directly or indirectly modified, so the criterion is zero. |
|
| State-access ordering within opcode execution | 0 | No existing opcode's state-access path or gas-charge ordering is changed, and the sole new opcode is not state-accessing. The anchor therefore remains zero. |
|
| State gas accounting changes | 0 | The new meter prices blob data rather than state writes, so none of the rubric's state-gas mechanisms is changed. |
|
| New EVM gas refund | 0 | No new EVM refund mechanism is introduced; the only explicit refund rule denies a data-fee refund. |
|
| New fork activation mechanism | 0 | The first-block rule initializes the new header recurrence. The rubric excludes initialization of a new internal variable, and no activation-block state change is specified, so the score is zero. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@7eac5f7f4aEIPS/eip-4844.md committed 2022-12-05 · 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-4844.yaml· sha25625ca3d731ccc - Supporting documents in the sealed package
supporting/eip-1559.md,supporting/eip-2718.md,supporting/eip-2930.md,supporting/eip-4895.md,supporting/eip-5793.md,supporting/ethereum-consensus-specs--specs-eip4844,supporting/ethereum-consensus-specs--specs-eip4844-polynomial-commitments.md