Evaluated on: · Spec revision: 2026-08-25 · ac450a4ab2 · Inclusion status at snapshot: PFI
Scope at the cutoff. Execution-layer-only assessment of the Draft EIP-8200 snapshot. The proposal installs unspecified EVM bytecode at the RIPEMD-160, MODEXP, and BLAKE2f precompile addresses at fork activation, stops native precompile treatment, and replaces their special gas formulas with standard EVM execution costs.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 10 criteria affected
- Plausible range
- 26–36 (High)
- Snapshot
- 2026-08-25 · EIP revision
ac450a4ab2(2026-08-25)
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
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 consensus inputs are absent: none of the three deployment bytecodes is specified, all gas comparisons are TODOs, and Test Cases is entirely TODO. The omissions prevent exact activation state, gas baselines, executable edge semantics, performance bounds, and test infrastructure needs from being fixed.
Plausible total
26–36
recorded score 28 · plausible tiers High
Affected criteria (10)
- Modified precompiles (2)
- EVM Gas rule changes (1)
- Transition-tool interface changes (0)
- Patterns affecting pre-existing tests (2)
- New invariant on pre-existing tests (1)
- New test-framework primitives (0)
- Security risks (3)
- Performance risks (2)
- Cryptography (2)
- Unspecified behavior requiring cross-client consensus (3)
Unresolved questions at the cutoff (5)
- What exact byte sequence must be installed at each of the three addresses?
- How does each bytecode normatively reproduce every valid output and every invalid-input failure mode of the replaced precompile?
- What are the exact gas costs and compatibility effects across each input-size and fixed-forwarded-gas boundary?
- What activation-block inputs or transition-tool interface, if any, are required to perform and verify the code installation?
- Which existing tests must be reworked, which unrelated tests gain assertions, and which new framework primitives are required?
Notable ambiguities noted by the assessor (4)
- Functional equivalence is stated as a goal but is not executable or byte-for-byte deterministic without the three missing bytecodes.
- Standard EVM execution costs do not determine numeric gas results until exact opcode sequences and their input-dependent control flow are supplied.
- Invalid-input equivalence is required by Security Considerations but is not normatively enumerated for the three replacements in EIP-8200.
- The activation-block action is explicit, while its transition-tool signaling and test-fixture representation are not described.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Cross-EIP interactionsExceptional | 4 | Coordinated cases are required for 152, 198, 7666, 7823, and 7883, plus the package-described but unnumbered RIPEMD-160 precompile specification. These six interactions span deployment, legacy functional equivalence, input bounds, and gas baselines. The uncapped rule gives base score 3 plus 1 for the third additional interaction beyond the first three. Exceptional score: Six separately package-grounded interactions each require coordinated cases; under the uncapped formula, three interactions beyond the first three add one point to the score-3 anchor. |
Confidence: High Uncertainty: The package does not identify the EIP number defining the current RIPEMD-160 precompile, so that interaction is recorded separately rather than guessed. Interacting EIPs: EIP-152, EIP-198, EIP-7666, EIP-7823, EIP-7883 |
| New fork activation mechanism | 3 | The rubric assigns score 3 when state is modified at the fork activation block. This proposal performs three explicit code-state modifications then. |
Confidence: High Uncertainty: The byte values are missing, but the requirement to modify state at activation is unambiguous. |
| Security risksUnder-specified | 3 | The activation transition, ordinary EVM execution, gas behavior, and three existing cryptographic interfaces all interact. Incorrect equivalence can cause consensus divergence or user-contract failure, requiring extensive review, differential testing, and fuzzing across multiple critical components. |
Confidence: Medium Uncertainty: Exact bytecode is absent, so its concrete attack surface and audit findings cannot be assessed from the package. |
| Edge/boundary conditions | 3 | Three distinct variable-input mechanisms expose multiple boundaries, and MODEXP length combinations plus BLAKE2f length, flag, and round boundaries require an elevated case set. This matches score 3. |
Confidence: High Uncertainty: Missing bytecode prevents enumerating implementation-created boundaries, but the inherited interface boundaries already satisfy score 3. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 3 | Clients cannot derive the activation state, exact gas results, or executable edge behavior from the snapshot. Newly deployed code bytes and their behavior are consensus-critical and must be agreed before vectors can be baselined, matching score 3. |
Confidence: High Uncertainty: This score measures the snapshot's explicit incompleteness; no package evidence establishes implementations, devnets, or resolved questions. |
| Modified precompilesUnder-specified | 2 | Multiple existing precompiles have their gas schedules modified, which is the explicit score-2 anchor. Functional behavior is specified as equivalent, so score 3 is not assigned on the sealed text. |
Confidence: Medium Uncertainty: Without bytecode or tests, it is unresolved whether observable behavior beyond gas will in fact differ for any edge input. |
| Added system contracts | 2 | Three protocol-installed EVM contracts are added, satisfying the multiple system-contract condition for score 2. None is specified as stateful or as triggering a new system action. |
Confidence: High Uncertainty: The exact contract code is not yet specified. |
| Patterns affecting pre-existing testsUnder-specified | 2 | Existing vectors for three distinct precompiles require new execution and gas baselines. The affected tests are considerable but localized to the contrived category of calls to these three addresses, matching score 2. |
Confidence: Medium Uncertainty: Test Cases is only a TODO, so the exact breadth of existing-test rework is not determined and could be broader once bytecode is supplied. |
| Performance risksUnder-specified | 2 | Performance must be validated both for individual bytecodes and their effect on existing precompile workloads and client EVM execution. The impact is not fully established in isolation but is confined to three call targets on the package evidence, matching score 2. |
Confidence: Medium Uncertainty: No bytecode, impact analysis, or bytecode gas/performance comparison is present, so substantial performance impact cannot be excluded. |
| CryptographyUnder-specified | 2 | Multiple well-known cryptographic mechanisms must be reimplemented and equivalence-tested in a new execution form. This matches the multiple well-known mechanisms at score 2; no novel cryptography is introduced. |
Confidence: High Uncertainty: The concrete EVM implementations are absent, so implementation-specific cryptographic testing details remain unknown. |
| EVM Gas rule changesUnder-specified | 1 | Three existing special gas schedules are replaced by the existing EVM execution-accounting mechanism. This updates gas accounting but does not introduce a new metering mechanism, matching score 1. |
Confidence: High Uncertainty: The exact deltas cannot be calculated because all three bytecodes and gas comparisons are absent, but that omission does not change the anchor class. |
| New invariant on pre-existing testsUnder-specified | 1 | The new fork state gives activation-focused pre-existing tests a narrow new assertion at three addresses. The snapshot does not require every unrelated post-fork test to assert it. |
Confidence: Medium Uncertainty: The missing bytecodes and test plan leave the exact assertion strategy unspecified. |
Show 16 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcode is introduced. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| Modified opcodes | 0 | No pre-existing opcode result rule is modified or deprecated. The CALL-family dispatch reaches code instead of a precompile, but the target functionality is required to remain equivalent and gas changes are scored separately. |
Uncertainty: Exact equivalence cannot be checked until bytecode exists, but the normative proposal does not modify an opcode's result. |
| Added precompiles | 0 | The proposal removes native precompile treatment rather than adding a precompile. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| Modified system contracts | 0 | The direct changes are accounted for as added system contracts and modified precompiles. The package identifies no pre-existing system contract that is modified. |
Uncertainty: The rubric does not define precompiles as system contracts, so this assessment treats the separately named precompile anchors as controlling. |
| State-access ordering within opcode execution | 0 | No opcode state-access or gas-charge ordering rule is modified. The fork-time code write is an activation transition, not an ordering change inside opcode execution. |
Uncertainty: The bytecode is unspecified, but the snapshot contains no normative rule that changes state-access ordering for an opcode. |
| Blob gas accounting changes | 0 | No blob gas accounting rule is introduced or modified. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| State gas accounting changes | 0 | A fork activation state change is present, but the rubric's state-gas accounting mechanisms are not changed. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| New EVM gas refund | 0 | No new gas-refund mechanism is introduced. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| New transaction types | 0 | No transaction type is introduced. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| New or modified transaction validity mechanisms | 0 | Internal execution may run out of gas under a fixed-gas call, but transaction admission, validity, and intrinsic gas are unchanged. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| New block / header fields | 0 | No new block or header field is introduced. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| Encoding changes (RLP/SSZ) | 0 | No transaction, block, or interface encoding is changed. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| Block syncing changes | 0 | No block RLP validation mechanism is introduced. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| Engine API changes | 0 | No Engine API change is specified. |
Uncertainty: No material uncertainty is present in the package for this anchor. |
| Transition-tool interface changesUnder-specified | 0 | Fork-block awareness is required operationally, yet no modification or new field in the transition-tool interface is specified, so the documented interface-change score is 0. |
Uncertainty: The package does not explain how the transition tool learns that the block is the activation block; later specification could require fields or a new mechanism. |
| New test-framework primitivesUnder-specified | 0 | The snapshot identifies no expectation type, modifier, helper, or permanent framework abstraction, so score 0 is the package-grounded result. |
Uncertainty: Because the test plan and bytecodes are missing, whether existing primitives suffice is not established. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ac450a4ab2EIPS/eip-8200.md committed 2026-08-25 · information cutoff 2026-08-25T11:56:58Z- 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/08-hegota-prospective-complexity-assessment/outputs/assessments/hegota-pfi-2026-08-26/eip-8200.yaml· sha2567b1b91b5e99b - Supporting documents in the sealed package
supporting/eip-152.md,supporting/eip-7666.md,supporting/eip-7823.md,supporting/eip-7883.md