Evaluated on: · Spec revision: 2026-10-07 · 6dac5e7491 · EIP-8081 list: PFI
Scope at the cutoff. EIP-8025 adds opt-in execution proofs. Altruistic proving validators generate zk proofs that an execution payload is valid and gossip them on a new CL topic. Proof-verifying nodes check them as a supplementary signal while still re-executing, so consensus validity rules do not change. On the execution layer, the EIP defines a stateless guest program (`run_stateless_guest` / `verify_stateless_new_payload`) and a `WitnessState` backed by MPT trie nodes, code and ancestor headers. It also defines host-side witness construction from the block read/write tracker, and new SSZ schemas (`StatelessInput`, `ExecutionWitness`, an SSZ `NewPayloadRequest` built from progressive containers, `StatelessValidationResult`) with a 2-byte schema-ID prefix and a canonical-encoding requirement. Guest programs are expected to run the existing `blockchain_test_engine` fixtures.
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 5 criteria affected
- Plausible range
- 21–30 (Medium–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
- Cross-EIP interactions4
- Encoding changes (RLP/SSZ)3
- New test-framework primitives3
- Edge/boundary conditions3
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: Several EL-relevant details are not specified in the supplied text. The guest output for a fork-timestamp mismatch is missing; the reference omits the check while production implementations must perform it. The mechanism by which the host or EL exports execution witnesses (any Engine API or t8n interface) is undefined. The `slot_number` payload field has no supplied defining EIP. The CL parameter `k` is still open.
Plausible total
21–30
recorded score 25 · plausible tiers Medium, High
Unresolved questions at the cutoff (4)
- When the payload timestamp is outside the guest's fork, does the guest return a sentinel failure or a failure with retained root, chain_id and schema_id?
- How does a stateful EL expose the execution witness to the prover or test filler: an Engine API, JSON-RPC or t8n output?
- Which EIP defines `slot_number` in ExecutionPayload, and how is it validated?
- Are superfluous witness nodes, codes or headers accepted, or must the witness be minimal?
Notable ambiguities noted by the assessor (5)
- The EIP says it makes no consensus change, yet it introduces EL guest and witness logic that must be conformance-tested across all engine fixtures.
- It is unclear whether running existing engine fixtures through the guest counts as reworking baseline tests or as new feature tests.
- The reference guest omits the fork-timestamp comparison that production implementations MUST perform.
- The normative specification is mostly delegated to external execution-specs and consensus-specs commits that were not supplied.
- EIP-8282's motivation mentions a `0xB0` builder prefix while EIP-7732 lists `0x03`; this is a supporting-document inconsistency that does not affect the target.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Cross-EIP interactionsExceptional | 4 | The guest's request root and its witness completeness couple behavior from several EIPs (blobs, three request system contracts plus builder requests, BAL, progressive SSZ). This requires coordinated scenarios across them and shared fixture vectors. |
Confidence: Medium Interacting EIPs: EIP-4844, EIP-6110, EIP-7002, EIP-7251, EIP-7688, EIP-7732, EIP-7928, EIP-8282 |
| Encoding changes (RLP/SSZ) | 3 | New serialized schemas and a codec are introduced for a protocol-specified EL proof interface. |
Confidence: High |
| New test-framework primitives | 3 | The target needs a shared framework facility (witness generation, `StatelessInput` packaging, a guest runner and result checking) that changes how all engine-fixture families are constructed and checked, not only target-specific tests. |
Confidence: Medium Uncertainty: The actual availability of helpers in the referenced repositories cannot be verified. |
| Edge/boundary conditions | 3 | Several independent boundary-sensitive mechanisms are added. At least one has an elevated matrix: witness completeness depends jointly on write ordering, deletion-induced branch collapse and the presence of sibling nodes. Similarly, the header window interacts with BLOCKHASH depth and contiguity. Their combinations change the outcome and cannot be tested independently. |
Confidence: Medium |
| Transition-tool interface changesUnder-specified | 2 | Filling fixtures with `StatelessInput`/witness data plausibly requires the state-transition tool to output a new witness artifact (state nodes, codes, headers) and the chain ID. That is a new capture mechanism. No tool evidence is supplied, so this is scored at level 2 rather than 3. |
Confidence: Low Uncertainty: No t8n interface evidence is supplied. The witness might be produced outside t8n (range 0) or as a new mechanism with multiple fields (range 3). |
| New invariant on pre-existing testsUnder-specified | 2 | Ordinary cases across many families gain a new checked output: the guest's validation result, request root and schema ID. The assertion covers Amsterdam engine fixtures only. There is no evidence that pre-fork vectors must be re-derived, so level 3 is not met. |
Confidence: Medium Uncertainty: Because the feature is opt-in for clients, one could argue it is a new test consumer rather than an assertion on baseline tests. The range is 1–2. |
| Security risks | 2 | Proof-verifying CL nodes trust the guest's result. This is a bounded interaction that needs targeted fuzzing of witness verification, canonical decoding and schema, chain and fork binding. Since there is no fork-choice impact, it does not reach level 3. |
Confidence: Medium |
| Performance risks | 2 | Targeted integrated benchmarks are needed for EL execution combined with witness generation, and for worst-case witness size and guest execution under adversarial blocks. The mechanism is off the critical path and opt-in, so this is a bounded interaction rather than a baseline end-to-end change. |
Confidence: Medium Uncertainty: Proving-time targets are not stated. |
| Cryptography | 2 | Several proof and hashing validation rules are added to EL code: the SSZ merkleization commitment, MPT witness proof verification and header-chain hashing. All use established primitives (SHA-256 SSZ merkleization, keccak MPT). No novel cryptography runs on the EL; the zk proof system lives in the proof node. |
Confidence: Medium Uncertainty: No test resources for progressive-container hash_tree_root or witness verification are supplied (evidence gap). zk verification is outside the EL. |
| Patterns affecting pre-existing testsUnder-specified | 1 | Expected results of baseline tests do not change. Re-running existing engine fixtures through the guest mostly adds a consumption mode rather than reworking cases. Some localized rework is likely where fixtures need ancestor headers (BLOCKHASH depth) or a full pre-state to derive witnesses, so level 1 rather than 0. |
Confidence: Low Uncertainty: It is unclear whether adapting existing fixtures for guest consumption counts as rework or as purely new feature tests. The plausible range is 0–2. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 1 | The output for a payload whose timestamp falls outside the guest's fork is not specified exactly. The surrounding failure semantics point to one intended outcome. |
Confidence: Medium Uncertainty: It is unclear whether a fork mismatch should produce a sentinel or a retained-value failure; the range is 1–2. The source of `slot_number` is an evidence gap. |
Show 17 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | None. |
|
| Modified opcodes | 0 | Instruction semantics are unchanged; only the data source in a stateless context differs. |
|
| Added precompiles | 0 | None. |
|
| Modified precompiles | 0 | None. |
|
| Added system contracts | 0 | None added. |
|
| Modified system contracts | 0 | No system contract rules change. System-call state must be witnessed, but that is not a modification. |
|
| EVM Gas rule changes | 0 | No execution-gas charging, metering or limit rule is introduced or changed. |
|
| State-access ordering within opcode execution | 0 | Witness recording observes accesses but does not change when any opcode accesses state or charges gas. BAL contents are unchanged. |
Uncertainty: Witness completeness depends on accesses recorded in the baseline order. That is a witness-construction concern, not an ordering change. |
| Blob gas accounting changes | 0 | No blob-gas pricing or limit rule 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 consensus transaction-validity change. |
|
| New block / header fields | 0 | No header or block field is added by the target. |
Uncertainty: `slot_number`'s defining EIP is not supplied; it is assumed to come from another proposal. |
| Block syncing changes | 0 | Header RLP decoding happens inside the guest's witness handling, not in block import or sync. |
|
| New fork activation mechanism | 0 | No activation-specific EL state transition. |
|
| Engine API changesUnder-specified | 0 | No Engine API endpoint or field change is specified. How the host obtains the witness from the EL is left unspecified. |
Uncertainty: An endpoint for exporting execution witnesses may be needed but is not specified. The `slot_number` payload field's origin is not in the supplied documents. The range is 0–2. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@6dac5e7491EIPS/eip-8025.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-8025.yaml· sha2565f8f26f4469d - Supporting documents supplied with the EIP
supporting/eip-4844.md,supporting/eip-6110.md,supporting/eip-7002.md,supporting/eip-7251.md,supporting/eip-7688.md,supporting/eip-7732.md,supporting/eip-7928.md,supporting/eip-8282.md