Evaluated on: · Spec revision: 2025-07-09 · 59c5b1739b
Scope at the cutoff. EIP-7910 (revision 59c5b17) adds a public JSON-RPC method, `eth_config`. It takes no parameters and returns the full configuration objects for the current, next and last known forks: activationTime, blob schedule, chainId, active precompiles and system contracts. For each object it also returns a CRC-32 hash of the RFC-8785 canonical JSON and the EIP-6122 FORK_HASH. BPO forks from EIP-7892 are treated as new forks that inherit from their parent and change only blob schedule values. The EIP is an Interface-category change. It changes no consensus, EVM, encoding or block-validation rule; exposing the method through the Engine API is optional (MAY).
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 5 criteria affected
- Plausible range
- 5–13 (Low–Medium)
- Assessment cutoff
- 2025-07-10 · EIP revision
59c5b1739b(2025-07-09)
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
- New test-framework primitives2
- Cross-EIP interactions2
- Unspecified behavior requiring cross-client consensus2
- Edge/boundary conditions1
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 revision has internal inconsistencies and deferred definitions that affect the observable RPC output and its hashes. The blob field is named "blobsSchedule" in the spec but "blobSchedule" in the examples. The member count is wrong. Null conditions for currentHash and currentForkId are stated in terms of the next configuration. activationTime is called required, yet the text also says it should be omitted for an unscheduled fork. Whether the EIP-7892 maxBlobsPerTx field is included is unresolved. The Osaka field set is deferred to a meta-EIP that was not supplied, and how BPO forks affect FORK_HASH is unstated.
Plausible total
5–13
recorded score 7 · plausible tiers Low, Medium
Unresolved questions at the cutoff (7)
- Is the canonical key "blobsSchedule" or "blobSchedule"? The choice changes the CRC-32 hash.
- Is maxBlobsPerTx (EIP-7892) included in the blob schedule object?
- When are currentHash and currentForkId null, given that current always exists?
- Is nextForkId the FORK_HASH including the next fork's timestamp, and how do BPO forks enter FORK_HASH?
- Does an unscheduled next fork omit activationTime or the whole config?
- What are the Osaka precompile names and system contracts, given that the meta-EIP was not supplied?
- Is Engine API exposure standardized, and if so, with what schema?
Notable ambiguities noted by the assessor (7)
- Field-name mismatch: blobsSchedule (spec) vs blobSchedule (examples).
- "Four members of two types" contradicts the nine members described.
- activationTime is "required", yet it is also to be omitted when unscheduled.
- The hash and forkId null conditions reference the next configuration even for current.
- The three-member blob object conflicts with EIP-7892's optional maxBlobsPerTx.
- Pre-Cancun configurations are explicitly non-standard.
- The hash is said to be computed over meta-EIP-specified parameters, but the meta-EIP for the assessed fork was not supplied.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| New test-framework primitivesUnder-specified | 2 | Testing needs RPC-level expectations derived from a fork schedule: generating the expected config objects, canonical-JSON CRC-32 hashes and EIP-6122 fork IDs, and re-querying across fork boundaries. That is a new expectation and construction abstraction within the target's suite. It does not change how other behavioral families are built or checked. |
Confidence: Low Uncertainty: No framework evidence was supplied. Existing RPC test harnesses could make this a local extension (level 1). |
| Cross-EIP interactionsUnder-specified | 2 | Coordinated cases are needed across forkId computation (EIP-6122) and BPO fork schedules (EIP-7892): fork IDs and config objects must stay correct as current/next/last advance through regular and BPO forks. This does not restructure shared vectors, so the level is 2, not 3. |
Confidence: Medium Uncertainty: How BPO forks contribute to the EL FORK_HASH is not stated in the supplied texts. Interacting EIPs: EIP-6122, EIP-7892, EIP-2124 |
| Unspecified behavior requiring cross-client consensus | 2 | Observable RPC outputs, including the hash values, have competing interpretations: the blob field name, whether maxBlobsPerTx is included, null conditions, and the forkId semantics for next/last. Clients must agree on these before expected results can be fixed. These outputs are not consensus-visible, so level 3 does not apply. |
Confidence: Medium Uncertainty: Some gaps (the Osaka meta-EIP contents) are evidence gaps rather than omissions in the specification. |
| Edge/boundary conditionsUnder-specified | 1 | The main boundary-sensitive mechanism is selecting current/next/last relative to the head timestamp and fork activation times. It covers the timestamp boundary, no future fork, and next equal to last. Genesis activation (0) and BPO chains are variants of the same selection. |
Confidence: Medium Uncertainty: Null handling and BPO recursion could be counted as separate mechanisms, which would give level 2. |
Show 24 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcodes are added. |
|
| Modified opcodes | 0 | No opcodes are modified. |
|
| Added precompiles | 0 | No precompile is introduced. |
|
| Modified precompiles | 0 | No precompile changes. |
|
| Added system contracts | 0 | No system contract is introduced. |
|
| Modified system contracts | 0 | No system contract rules change. |
|
| EVM Gas rule changes | 0 | No execution-gas accounting rule changes. |
|
| State-access ordering within opcode execution | 0 | No opcode state-access or gas-charge ordering changes. |
|
| Blob gas accounting changes | 0 | Blob parameters are reported, not changed, so blob accounting is unchanged. |
|
| State gas accounting changes | 0 | No state gas accounting change. |
|
| New EVM gas refund | 0 | No new refund. |
|
| New transaction types | 0 | No new transaction type. |
|
| New or modified transaction validity mechanisms | 0 | No transaction-validity change. |
|
| New block / header fields | 0 | No header fields are added. |
|
| Encoding changes (RLP/SSZ)Under-specified | 0 | The new JSON schema belongs to public JSON-RPC, which is not among the listed EL objects or interfaces. Engine API exposure is optional. |
Uncertainty: If the method were exposed through the Engine API, its schema would count here. |
| Block syncing changes | 0 | No RLP decoding or structural validation change. |
|
| New fork activation mechanism | 0 | No activation-specific EL state transition. |
|
| Engine API changesUnder-specified | 0 | The required method is public JSON-RPC, which this criterion excludes. Engine API exposure is only permitted (MAY), so the EL/CL contract does not change normatively. |
Uncertainty: If clients standardize Engine API exposure, it would add an endpoint (level 2). |
| Transition-tool interface changes | 0 | No t8n interface change is required. |
|
| Patterns affecting pre-existing tests | 0 | Baseline consensus tests need no rework. |
|
| New invariant on pre-existing tests | 0 | No new assertion is needed on baseline tests. The new output is only an RPC response. |
|
| Security risks | 0 | No consensus validation boundary or trust invariant changes. The RPC exposure guidance is operator policy (SHOULD). |
Uncertainty: A local check of RPC access restriction could count as level 1. |
| Performance risks | 0 | No changed execution workload or resource bound needs performance validation. The DoS concern is generic to RPC. |
|
| Cryptography | 0 | CRC-32 over canonical JSON is a non-cryptographic checksum on an RPC output. No cryptographic verification rule is executed by the EL. |
Uncertainty: Treating a new hashing-based identifier as level 1 would be a stretch, but it is possible. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@59c5b1739bEIPS/eip-7910.md committed 2025-07-09 · information cutoff 2025-07-10T14:25:07Z- 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-7910.yaml· sha25678661dd860c6 - Supporting documents supplied with the EIP
supporting/eip-6122.md,supporting/eip-7892.md