Evaluated on: · Spec revision: 2023-06-22 · ef0a1320a0
Scope at the cutoff. At the information cutoff, EIP-2537 proposed nine precompiles at addresses 0x0c through 0x14 for BLS12-381 G1/G2 addition, multiplication, multiexponentiation, pairing, and field-to-curve mapping. It specified field and point encodings, call ABIs, validation and error behavior, and fixed or input-length-dependent gas schedules. The mapping algorithms were delegated to a separately linked document that is not present in the sealed package, while two sections gave conflicting pairing gas formulas.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 6 criteria affected
- Plausible range
- 15–20 (Medium)
- Assessment cutoff
- 2024-01-18 · EIP revision
ef0a1320a0(2023-06-22)
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: The packaged EIP does not contain the algorithms and parameters needed to determine the outputs of its two mapping precompiles, instead referring to a separate document. It also gives two incompatible pairing gas formulas and leaves the activation block as X. The first two gaps require a normative resolution before complete cross-client vectors can be baselined.
Plausible total
15–20
recorded score 16 · plausible tiers Medium
Unresolved questions at the cutoff (4)
- Which algorithm and parameter set normatively determines the outputs of BLS12_MAP_FP_TO_G1 and BLS12_MAP_FP2_TO_G2?
- Is the pairing gas cost 43000*k + 65000 or 23000*k + 115000?
- Which activation block replaces X?
- Does invalid input return only call failure with all supplied gas burned, or is any output-data convention also required?
Notable ambiguities noted by the assessor (4)
- The EIP's main pairing-price section conflicts with its later gas-calculation pseudocode.
- The normative field-to-curve content is outside the packaged historical text.
- The text mandates an error for invalid inputs but does not explicitly define an output-data convention for failure.
- EIP-1962 is named as an implementation code basis, not as a protocol dependency.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added precompilesExceptional | 4 | The EIP is well beyond the anchor-3 threshold of multiple precompiles with at least one complex member: it adds nine ABIs, three variable-length operations, two field encodings, and several different output and validation rules. Exceptional score: Nine distinct precompiles, including three complex dynamic-input operations and two externally specified mappings, materially exceed the quantity and test-surface represented by the ordinary score-3 anchor. |
Confidence: High Uncertainty: The field-to-curve behavior cannot be fully evaluated because its linked specification is absent. |
| Edge/boundary conditionsUnder-specified | 3 | Several independent boundary-prone mechanisms are introduced, and the variable-length calls require an elevated matrix across lengths, partial slices, discount thresholds, validity, and gas. This matches anchor 3. |
Confidence: High Uncertainty: The absent mapping specification may contain additional edge cases beyond those scoreable here. |
| EVM Gas rule changesUnder-specified | 2 | The EIP introduces new gas-cost functions for new precompiles, including dynamic accounting, without changing an existing gas mechanism. This matches anchor 2. |
Confidence: High Uncertainty: The two stated pairing gas formulas conflict, but both establish that a new dynamic gas rule is intended. |
| CryptographyUnder-specified | 2 | The proposal introduces multiple distinct cryptographic mechanisms—curve arithmetic, multiexponentiation, pairing, and mapping—on a fully parameterized named curve. They are presented as established mechanisms with property tests and reference implementations, matching anchor 2 rather than the novel-mechanism anchor. |
Confidence: Medium Uncertainty: The unavailable mapping document prevents assessing the mapping algorithm's completeness and resource base directly. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | Tests cannot baseline the mapping outputs from the packaged EIP alone, and clients must choose between incompatible normative pairing gas formulas. These material but localized issues require agreement before vectors can be authoritative, matching anchor 2. |
Confidence: High Uncertainty: The activation placeholder X is also unresolved, although fork configuration could supply it without changing operation semantics. |
| Patterns affecting pre-existing tests | 1 | Existing tests that call one of the nine newly assigned addresses as an ordinary account can change at activation, but this is a narrow, address-specific subset. That limited reworking matches anchor 1. |
Confidence: Medium Uncertainty: The EIP asserts compatibility but does not inventory pre-existing tests using the assigned addresses. |
| Security risksUnder-specified | 1 | Incorrect cryptographic validation could create security or consensus risk, but the mechanisms are isolated behind new precompile calls and do not alter an existing protocol invariant. This matches anchor 1. |
Confidence: Medium Uncertainty: The missing mapping specification and contradictory pairing pricing prevent complete isolated review of all security and resource-exhaustion behavior. |
| Performance risksUnder-specified | 1 | The new cryptographic calls require benchmarking, but each precompile can be benchmarked in isolation and does not modify existing performance paths. This matches anchor 1. |
Confidence: Medium Uncertainty: The linked benchmark vectors and mapping algorithms are not in the sealed package, limiting validation of the pricing assumptions. |
Show 20 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcode is added, matching anchor 0. |
|
| Modified opcodes | 0 | Adding new precompile targets does not modify or deprecate an existing opcode under this anchor, so anchor 0 applies. |
|
| Modified precompiles | 0 | No existing precompile logic or gas schedule is modified, matching anchor 0. |
|
| Added system contracts | 0 | Precompiles do not constitute added system contracts under this anchor, so anchor 0 applies. |
|
| Modified system contracts | 0 | No pre-existing system contract code, state, or behavior is modified, matching anchor 0. |
|
| State-access ordering within opcode execution | 0 | No opcode state access or gas-charge ordering relative to state access is changed, matching anchor 0. |
|
| Blob gas accounting changes | 0 | No blob gas accounting is introduced or modified, matching anchor 0. |
|
| State gas accounting changes | 0 | The proposal adds no state write cost, state-gas budget, reservoir, or spill rule, matching anchor 0. |
|
| New EVM gas refund | 0 | No gas-refund mechanism is introduced, matching anchor 0. |
|
| New transaction types | 0 | No transaction type is introduced, matching anchor 0. |
|
| New or modified transaction validity mechanisms | 0 | Existing transaction validity and intrinsic-gas rules are unchanged, matching anchor 0. |
|
| New block / header fields | 0 | No new block or block-header field is introduced, matching anchor 0. |
|
| Encoding changes (RLP/SSZ) | 0 | These precompile input ABIs do not change transaction, block, or protocol-interface RLP/SSZ encoding, matching anchor 0. |
|
| Block syncing changes | 0 | No block RLP validation mechanism is introduced, matching anchor 0. |
|
| New fork activation mechanism | 0 | Activation enables new functionality but performs no state or existing internal-variable modification at the activation block, matching anchor 0. |
Uncertainty: The activation value is left as X, but that does not create the state-modification mechanism scored by this anchor. |
| Engine API changes | 0 | No Engine API communication change is introduced, matching anchor 0. |
|
| Transition-tool interface changes | 0 | No transition-tool interface field or mechanism is required by the proposal, matching anchor 0. |
|
| New invariant on pre-existing tests | 0 | Tests unrelated to this EIP gain no new invariant to assert, matching anchor 0. |
|
| New test-framework primitives | 0 | The proposal establishes a large test-data space but does not require a new test-framework primitive, matching anchor 0. |
Uncertainty: The EIP does not describe the test framework, so this score assumes its stated properties can be represented by existing call and assertion primitives. |
| Cross-EIP interactions | 0 | The protocol proposal neither depends on, modifies, nor conflicts with another numbered EIP. Reuse of EIP-1962 implementation code is not a protocol-level interaction, so anchor 0 applies. |
Uncertainty: Existing BN254 and Blake2f precompiles are cited as comparisons or precedents, but the text specifies no dependency on or modification to them. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ef0a1320a0EIPS/eip-2537.md committed 2023-06-22 · information cutoff 2024-01-18- 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/prague/eip-2537.yaml· sha25685850ca607bd