Evaluated on: · Spec revision: 2025-05-20 · 0aefdc9d5a
Scope at the cutoff. At the information cutoff, EIP-7843 was a Draft proposal for a new fixed-cost SLOTNUM opcode at 0x4b that returns the current block's slot number as an eight-byte unsigned value. The slot number was to be calculated by the consensus layer, carried to the execution layer through the Engine API, committed in a new uint64 block-header field, and supplied in a new uint64 PayloadAttributes field. The proposal presented EIP-4788 proof-based access as an existing but more expensive alternative, and it supplied no test cases or substantive security analysis.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 9 criteria affected
- Plausible range
- 20–28 (Medium–High)
- Assessment cutoff
- 2025-06-09 · EIP revision
0aefdc9d5a(2025-05-20)
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
- New block / header fields3
- Encoding changes (RLP/SSZ)3
- Patterns affecting pre-existing tests3
- New invariant on pre-existing tests2
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 details of the new consensus value's complete path are unresolved: the header field's exact position and canonical encoding, its representation in payload validation and Engine API messages beyond PayloadAttributes, the rule by which execution clients validate the consensus-computed value, and the mapping of the stated eight-byte value into an EVM stack word. These omissions affect the size of the interface, syncing, regression-test, and security work without changing the explicit existence of the opcode or header field.
Plausible total
20–28
recorded score 23 · plausible tiers Medium, High
Affected criteria (9)
- Block syncing changes (1)
- Engine API changes (1)
- Transition-tool interface changes (1)
- Patterns affecting pre-existing tests (3)
- New invariant on pre-existing tests (2)
- New test-framework primitives (1)
- Security risks (2)
- Edge/boundary conditions (1)
- Unspecified behavior requiring cross-client consensus (2)
Unresolved questions at the cutoff (4)
- Where in the header is slot_number placed, and what is its exact canonical RLP encoding and validation rule?
- Which Engine API payload or endpoint objects, in addition to PayloadAttributes, carry slot_number during block production and validation?
- From which value does a validating execution client derive or obtain slot_number, and what mismatch makes a payload invalid?
- How is the eight-byte big-endian SlotNumber represented in the 256-bit EVM stack word, and what happens at or beyond the uint64 limit?
Notable ambiguities noted by the assessor (4)
- The historical text says to extend the header encoding but does not place the new field within the header or define its canonical encoded form.
- PayloadAttributes gains slot_number, but the proposal does not specify the corresponding payload-delivery and validation-side Engine API changes.
- The output is called an eight-byte big-endian value even though an EVM stack element is wider, leaving the normative stack representation implicit.
- Test Cases is N/A and Security Considerations is None, leaving the intended regression and cross-layer consistency rules undocumented.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| New block / header fields | 3 | The introduction of a new block-header field directly triggers the rubric's binary score-3 anchor. |
Confidence: High |
| Encoding changes (RLP/SSZ) | 3 | A block-header encoding change directly triggers the rubric's binary score-3 anchor. |
Confidence: High Uncertainty: The existence of the encoding change is explicit, although its exact field placement and canonical encoding are not. |
| Patterns affecting pre-existing testsUnder-specified | 3 | A mandatory post-fork header-schema change plus an Engine API input change requires existing block, payload, syncing, and execution-test paths to construct and carry the new field. That reaches diverse categories rather than a narrow contrived subset, matching the major-subset anchor. |
Confidence: Medium Uncertainty: The proposal does not describe the historical test infrastructure, so the exact amount of mechanical versus hand-authored rework is not determined. |
| New invariant on pre-existing testsUnder-specified | 2 | A broad category of post-fork block and payload tests gains a mechanical consistency assertion for slot_number, but the text does not establish that every test type or pre-fork vector must gain that assertion. |
Confidence: Medium Uncertainty: The proposal does not specify which test formats assert header fields or whether any harness derives the field automatically. |
| Security risksUnder-specified | 2 | Incorrect propagation or validation could make a consensus-derived opcode value disagree across block construction, validation, and execution. The mechanism touches a limited set of critical components and warrants targeted cross-layer review, but the proposal does not establish the broad, substantial invariant changes required for score 3. |
Confidence: Medium Uncertainty: The missing payload-validation rule makes the precise security surface and ownership of consistency checks unclear. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | Clients need agreement on localized consensus details before baselining tests: the header field's exact encoding position, how validating execution clients receive or check slot_number, and how the eight-byte value maps to a 256-bit EVM stack item. These are localized to the new slot-number path rather than a wholesale newly observable class of behavior. |
Confidence: High Uncertainty: Some omissions have an apparent intended reading, but the proposal does not select those readings normatively. |
| Added opcodes | 1 | This is one simple opcode: it has no data portion, no complex stack mechanics, and a constant gas cost. |
Confidence: High |
| EVM Gas rule changes | 1 | Adding SLOTNUM to the existing constant-cost base-opcode schedule updates an existing gas-accounting mechanism; it does not introduce dynamic metering or affect an existing opcode's gas rule. |
Confidence: High |
| Block syncing changesUnder-specified | 1 | One additional header field creates a single simple RLP/schema validation change for imported blocks, matching the score-1 anchor. |
Confidence: Medium Uncertainty: The field's exact header position, canonical encoding details, and validation rule are not specified. |
| Engine API changesUnder-specified | 1 | The historical text explicitly adds a single field to an existing Engine API object, matching the score-1 anchor. |
Confidence: Medium Uncertainty: The proposal does not say whether ExecutionPayload, newPayload, forkchoiceUpdated, or versioned endpoint schemas also require changes. |
| Transition-tool interface changesUnder-specified | 1 | A transition tool must receive one slot_number context field so it can execute the opcode and form the extended header, matching the single-new-field anchor. |
Confidence: Medium Uncertainty: The transition-tool interface is not named in the proposal, and the missing validation flow could ultimately require more than one representation of the value. |
| New test-framework primitivesUnder-specified | 1 | Existing opcode-test and block-test primitives remain applicable, but their environment and header builders need a minor slot_number extension. The text provides no basis for a new reusable expectation or modifier primitive. |
Confidence: Medium Uncertainty: Because no tests are described, it is unclear whether an existing generic block-context field mechanism would make the framework change unnecessary. |
| Performance risks | 1 | The new context read and metadata transport can be benchmarked in isolation and are not specified to alter existing performance behavior, matching the score-1 anchor. |
Confidence: Medium Uncertainty: The proposal gives an expectation rather than benchmark evidence and does not quantify header or Engine API overhead. |
| Edge/boundary conditionsUnder-specified | 1 | The fixed-width slot-number path is one boundary-prone mechanism, requiring at least zero and uint64-limit representation cases across the API, header, and stack. It does not introduce multiple independently complex boundary mechanisms. |
Confidence: Medium Uncertainty: The text does not state overflow handling or precisely define how the eight-byte value occupies an EVM stack word. |
Show 14 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodes | 0 | No pre-existing opcode behavior is modified. |
|
| Added precompiles | 0 | No precompile is added. |
|
| Modified precompiles | 0 | No pre-existing precompile is modified. |
|
| Added system contracts | 0 | No new system contract is introduced. |
|
| Modified system contracts | 0 | EIP-7843 neither changes the EIP-4788 system contract's code or state nor specifies any indirect protocol behavior for that contract. |
|
| State-access ordering within opcode execution | 0 | SLOTNUM does not access state, so it neither changes an existing opcode's state-access ordering nor introduces an ordering point for a new state-accessing operation. |
|
| Blob gas accounting changes | 0 | The proposal contains no blob gas accounting change. |
|
| State gas accounting changes | 0 | No state-gas-charging site or state gas mechanism is added or modified. |
|
| New EVM gas refund | 0 | The proposal introduces no gas-refund mechanism. |
|
| New transaction types | 0 | No new transaction type is introduced. |
|
| New or modified transaction validity mechanisms | 0 | The proposal does not create or modify transaction validity rules. |
|
| New fork activation mechanism | 0 | No special fork-activation state transition or internal-variable modification is specified. |
Uncertainty: The activation rules are not described, but the text provides no evidence of a one-time mutation that would trigger this criterion. |
| Cryptography | 0 | No cryptographic mechanism is introduced or changed. |
|
| Cross-EIP interactions | 0 | EIP-4788 is cited only to describe an existing alternative access path. EIP-7843 does not depend on, modify, or conflict with EIP-4788 and requires no coordinated EIP-4788 test cases, so it is self-contained under this anchor. |
Uncertainty: None identified; a motivational comparison is not treated as a protocol interaction. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@0aefdc9d5aEIPS/eip-7843.md committed 2025-05-20 · information cutoff 2025-06-09T07:29:29Z- 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/amsterdam/eip-7843.yaml· sha25640911b1426c6 - Supporting documents in the sealed package
supporting/eip-4788.md