Evaluated on: · Spec revision: 2025-02-14 · 4a06cae0ed
Scope at the cutoff. EIP-7883, at the assessed revision, changes only the gas cost of the existing ModExp precompile at 0x05. It changes three things in the EIP-2565 pricing formula. The minimum price goes from 200 to 500 gas. The per-byte multiplier for exponents longer than 32 bytes goes from 8 to 16. Multiplication complexity doubles when the base or modulus is longer than 32 bytes. The precompile's interface and arithmetic are unchanged. The EIP gives an updated table of gas results for named test vectors.
- Evaluator
- LLMChecklist v3
- Confidence
- High
- Under-specified at assessment cutoff
- No
- Plausible range
- 9–9 (Low)
- Assessment cutoff
- 2025-02-21 · EIP revision
4a06cae0ed(2025-02-14)
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
- Patterns affecting pre-existing tests2
- Edge/boundary conditions2
- Modified precompiles1
- EVM Gas rule changes1
Under-specified at assessment cutoff: No
The EIP text available at the assessment cutoff left material behavior unresolved. The affected criteria and the plausible total range record that uncertainty.
The assessor found no material behavior left unresolved by the EIP text at the cutoff.
Notable ambiguities noted by the assessor (3)
- The meaning of 'exponent' (the first 32 bytes of the exponent when exponent_length > 32) is inherited from EIP-198, which was not supplied.
- The marcin_* test vector inputs are named but not supplied, so their expected values (including the 0% rows) cannot be checked independently.
- Whether a precompile gas-only repricing also counts under GAS, not just ~PC, is a template interpretation; both were scored at 1.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Patterns affecting pre-existing tests | 2 | Ordinary cases throughout the ModExp precompile test family need new expected gas. Calls supplying exactly the old gas would now run out of gas. This is confined to one behavioral family, so level 2. |
Confidence: Medium Uncertainty: Other baseline tests that call ModExp incidentally with tight gas could also need rework. This cannot be measured without a test suite. |
| Edge/boundary conditions | 2 | Several boundary-sensitive rules change or are added: the complexity doubling at 32 bytes, the exponent-length slope above 32 bytes and the 500-gas floor. The floor depends on the product of the other two terms, but each boundary can still be tested with targeted vectors. No elevated matrix is established, so level 2. |
Confidence: Medium Uncertainty: Combining the floor with the two 32-byte regimes might be argued as an elevated matrix (level 3). |
| Modified precompiles | 1 | Exactly one precompile has a gas-only change and none has a behavior change, so level 1. |
Confidence: High |
| EVM Gas rule changes | 1 | Existing execution-gas parameters and formula terms change: the floor, the exponent multiplier and a 32-byte doubling in complexity. No new accounting mechanism is introduced, which is level 1. |
Confidence: High Uncertainty: Precompile gas could be treated only under ~PC. It is scored here too because baseline execution-gas results change. |
| Security risks | 1 | The changed DoS-pricing condition can be checked locally for this one precompile. No other component's assumptions change. |
Confidence: Medium |
| Performance risks | 1 | Component benchmarks of ModExp across input shapes are enough to validate the new prices. Integrated performance assumptions do not change, so level 1. |
Confidence: Medium |
| Cross-EIP interactions | 1 | The interaction with EIP-2565 needs only local compatibility checks. The terms carried over (word rounding, iteration count for exponents ≤32 bytes, the /3 divisor) must stay the same. Gas must switch from EIP-2565 to EIP-7883 pricing at the fork boundary. No coordinated multi-EIP scenarios are needed. |
Confidence: Medium Uncertainty: Interactions with call-gas forwarding or warm/cold precompile access come from EIPs that were not supplied. They are unchanged by this EIP. Interacting EIPs: EIP-2565 |
Show 21 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | None. |
|
| Modified opcodes | 0 | The template excludes changed precompile cost through an unchanged instruction. |
|
| Added precompiles | 0 | None. |
|
| Added system contracts | 0 | None. |
|
| Modified system contracts | 0 | None. |
|
| State-access ordering within opcode execution | 0 | No instruction's access order or gas-charge order changes. |
|
| Blob gas accounting changes | 0 | Blob gas is unaffected. |
|
| State gas accounting changes | 0 | State-gas accounting does not change. |
|
| New EVM gas refund | 0 | No refund mechanism is added. |
|
| New transaction types | 0 | None. |
|
| New or modified transaction validity mechanisms | 0 | None. |
|
| New block / header fields | 0 | None. |
|
| Encoding changes (RLP/SSZ) | 0 | None. |
|
| Block syncing changes | 0 | No block RLP or structural validation change. |
|
| New fork activation mechanism | 0 | Rule or constant selection does not count. |
|
| Engine API changes | 0 | None. |
|
| Transition-tool interface changes | 0 | No transition-tool interface change is needed. |
|
| New invariant on pre-existing tests | 0 | Only existing gas values change, which counts under PAT. |
|
| New test-framework primitives | 0 | Existing precompile-call and gas-check primitives are enough. |
|
| Cryptography | 0 | No cryptographic mechanism or validation rule changes. |
|
| Unspecified behavior requiring cross-client consensus | 0 | The pricing outcome is fully determined. How 'exponent' (the exponent head) is defined is inherited from EIP-198, which was not supplied. That is an evidence gap, not an omission in this spec. |
Uncertainty: The inputs for the marcin vectors are named but not supplied, so they cannot be checked independently. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@4a06cae0edEIPS/eip-7883.md committed 2025-02-14 · information cutoff 2025-02-21T10:10:59Z- 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/retrospective/outputs/assessments/osaka/eip-7883.yaml· sha25649913d86ded5 - Supporting documents supplied with the EIP
supporting/eip-2565.md