Evaluated on: · Spec revision: 2026-10-07 · 6dac5e7491 · EIP-8081 list: PFI
Scope at the cutoff. EIP-8142 requires the execution-payload data (the RLP-encoded block access list from EIP-7928 and the RLP-encoded transaction list) to be written into blobs. It uses a fixed codec: an 8-byte length header, 31 usable bytes per field element and zero padding. The KZG commitments for these payload-blobs must form the first `payload_blob_count` blob commitments of the block, ahead of the type-3 transaction blobs. A new `payload_blob_count` header/ExecutionPayload field is added. engine_getPayload must compute payload blobs, commitments and cell proofs, plus random-point proofs in the zk variant. engine_newPayload must re-derive the payload blobs, check the count and check that the expected versioned hashes are the payload hashes followed by the type-3 hashes. Payload blobs consume blob gas and count toward MAX_BLOBS_PER_BLOCK without paying a per-blob fee.
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 5 criteria affected
- Plausible range
- 35–42 (High)
- Snapshot
- 2026-10-07 · EIP revision
6dac5e7491(2026-10-07)
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
- New block / header fields3
- Encoding changes (RLP/SSZ)3
- Block syncing changes3
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 blob-gas accounting of payload blobs is described only in prose. The header RLP layout and the scope of block-import validation are unspecified, and the ExecutionPayload listing conflicts with EIP-7928's blockAccessList field.
Plausible total
35–42
recorded score 41 · plausible tiers High
Unresolved questions at the cutoff (6)
- Is header blob_gas_used computed as payload_blob_count*GAS_PER_BLOB plus type-3 blob gas, and does excess_blob_gas use it?
- Is the combined payload plus type-3 blob limit a consensus validity rule in EL block validation, or only a builder obligation?
- Where is payload_blob_count placed in the header RLP, and how is it handled for the first post-fork block?
- Is payload_blob_count validated on devp2p block import, given that BALs are stored separately?
- Does ExecutionPayload include blockAccessList, given that the listed container omits it?
- Is any fee charged or burned for payload blob gas?
Notable ambiguities noted by the assessor (4)
- Every block has at least one payload blob, even an empty one (10 bytes), so blob gas is never zero if payload blobs are counted.
- The two newPayload variants (native and zk) are claimed equivalent, but zk-variant inputs are private, so EL testing scope for the zk variant is unclear.
- The ExecutionPayload listing omits blockAccessList and EIP-7732 envelope details.
- RLP.decode in the decoder has no explicit canonicality rule; validation re-encodes from the payload instead.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Blob gas accounting changesUnder-specified | 3 | This adds a new mechanism: protocol-mandated, unpaid blob-gas consumption by payload blobs. It also changes existing accounting. blob_gas_used, excess_blob_gas and the blob base fee now include payload blobs, which matters because every block has at least one payload blob (even an empty BAL plus an empty tx list encodes to 10 bytes). Baseline blob gas expectations therefore change. |
Confidence: Medium Uncertainty: The EIP gives no formula for including payload blobs in blob_gas_used or in the limit check; it states the effect only in prose. If blob_gas_used were unchanged and only the capacity limit applied, the level would be lower. |
| New block / header fields | 3 | An execution header member is added. |
Confidence: High |
| Encoding changes (RLP/SSZ) | 3 | The header schema, the ExecutionPayload/Engine schema and a new payload-to-blob codec all change. |
Confidence: High |
| Block syncing changesUnder-specified | 3 | Header decoding gains a field (a simple rule). payload_blob_count must also match a value derived from the block body and BAL (a complex rule), and blob gas checks change. |
Confidence: Low Uncertainty: The count check is specified only at the Engine API boundary. Whether it applies on devp2p import, where the BAL is stored separately, is unspecified, and the header RLP position is not given. |
| Engine API changes | 3 | Both endpoint behavior and multiple fields change. getPayload and newPayload validation change, and ExecutionPayload.payloadBlobCount, payload_kzg_proofs and payload_kzg_commitments are added. |
Confidence: High |
| Patterns affecting pre-existing testsUnder-specified | 3 | One common change, mandatory payload blobs in every block, forces rework across distinct families. Every engine-format blockchain test needs different expected_blob_versioned_hashes inputs. EIP-4844 max-blobs-per-block validity tests and excess-blob-gas/blob-base-fee/BLOBBASEFEE expectations must be re-derived, because blob gas used is never zero after the fork. |
Confidence: Medium Uncertainty: How far the blob-accounting families change depends on the unspecified blob_gas_used formula. |
| New test-framework primitives | 3 | The framework needs a shared facility to derive payload blobs from each block's BAL and transactions, compute KZG commitments and versioned hashes, prepend them to expected blob hashes, and account for payload blobs in blob limits. This changes how every engine-format fixture across families is constructed and checked. It also needs modifiers to forge mismatched counts or ordering. |
Confidence: Medium |
| Edge/boundary conditions | 3 | There are multiple boundary-sensitive mechanisms: blob-packing thresholds, length-header bounds and the combined blob limit. The limit forms an elevated matrix in which payload size (BAL plus tx bytes), type-3 blob count and the active blob-schedule max together determine validity. Adding transactions also changes payload size. |
Confidence: Medium |
| Cross-EIP interactions | 3 | The target couples EIP-4844 blob accounting and ordering, EIP-7928 BAL size, EIP-7892 schedule limits and EIP-7594 cell proofs. Coordinated scenarios are needed across these interactions. |
Confidence: Medium Uncertainty: EIP-7732 compatibility (ExecutionPayload in the envelope, commitments in the bid) is only partially described. Interacting EIPs: EIP-4844, EIP-7928, EIP-7892, EIP-7594, EIP-7732 |
| New or modified transaction validity mechanismsUnder-specified | 2 | Whether type-3 transactions are eligible now depends on the remaining blob capacity after payload blobs, and that capacity depends on the size of all transactions and the BAL. Dedicated cases are needed, but baseline validation sequencing remains usable. |
Confidence: Low Uncertainty: The EIP gives no explicit consensus validity rule combining payload and type-3 blobs; it gives only a builder note and prose. |
| Transition-tool interface changesUnder-specified | 2 | The tool must output payload_blob_count and include payload blobs in blob-gas results, and it likely needs the parent payload blob count for the excess calculation. That is multiple field changes without a clearly required new exchange mechanism. |
Confidence: Low Uncertainty: No t8n evidence is supplied. If KZG commitment and versioned-hash computation for payload blobs had to live in the tool, this would reach 3. |
| New invariant on pre-existing tests | 2 | Every post-fork block in every test must carry and check the correct payload_blob_count. The assertion is universal within the target fork, but nothing shows that pre-fork vectors must be re-derived, so the level is 2. |
Confidence: Medium |
| Security risks | 2 | The EL newPayload check now carries the data-availability binding the CL relies on. Targeted adversarial integration cases are needed: wrong count, reordered or misplaced commitments, mismatched blobs, and native/zk variant divergence. |
Confidence: Medium Uncertainty: This could be judged 3 if the CL/zk-prover trust assumptions are counted as a shared invariant across multiple components. |
| Performance risks | 2 | Payload validation and block building gain KZG work that scales with payload size, which is bounded by the gas limit and the blob max. Targeted integrated benchmarks are needed on the newPayload/getPayload critical paths. |
Confidence: Medium Uncertainty: The builder bandwidth concerns are CL/networking and are not scored here. |
| Cryptography | 2 | Several established KZG mechanisms enter EL validation and building. Payload validity now depends on commitment computation, the zk variant uses batch proof verification, and getPayload computes cell and blob proofs. Specs exist for all of them, so this is multiple established mechanisms. |
Confidence: Medium Uncertainty: Applicability of existing KZG test vectors to EL payload validation is not directly evidenced. |
| Unspecified behavior requiring cross-client consensus | 2 | Several consensus-visible outcomes admit competing interpretations. Header blob_gas_used could include or exclude payload blobs, the header field order is unspecified, and whether the count check applies outside the Engine API is unstated. These must be agreed before expected results can be fixed. |
Confidence: Medium Uncertainty: If the blob-accounting ambiguity is read as re-baselining across families, the level could be 3. |
Show 12 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | None. |
|
| Modified opcodes | 0 | No instruction semantics change. Blob base fee values may shift through accounting, but that is not a semantic change. |
|
| 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 charging, metering or settlement rule changes. Only blob-related accounting is touched. |
|
| State-access ordering within opcode execution | 0 | No instruction's state-access or gas-charge ordering changes, and BAL recording rules are untouched. |
|
| State gas accounting changes | 0 | No state-gas accounting changes. |
|
| New EVM gas refund | 0 | No new refund mechanism. |
|
| New transaction types | 0 | No new transaction envelope. |
|
| New fork activation mechanism | 0 | There is no one-time state transition or code installation. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@6dac5e7491EIPS/eip-8142.md committed 2026-10-07 · information cutoff 2026-10-07T22:23:55Z- 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/prospective/outputs/assessments/hegota-2026-10-08/eip-8142.yaml· sha2566cbbbee0a85f - Supporting documents supplied with the EIP
supporting/eip-4844.md,supporting/eip-7594.md,supporting/eip-7732.md,supporting/eip-7892.md,supporting/eip-7928.md