Add a precompile that verifies multiple KZG openings (z_i, y_i) for a single EIP-4844 blob commitment, returning the same 64-byte output as the existing point-evaluation precompile.
Motivation
EIP-4844 provides a point-evaluation precompile at 0x0A costing 50,000 gas per opening. Contracts needing multiple blob values (e.g., fraud proofs) must pay this cost repeatedly. A batch interface verifies k openings in one call, reducing overhead.
Specification
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.
Constants
Name
Value
Comment
MULTI_POINT_EVALUATION_PRECOMPILE_ADDRESS
TBD
precompile address
MAX_MULTI_POINTS
128
maximum number of evaluation points
MULTI_POINT_EVALUATION_BASE_GAS
TBD
base gas cost
MULTI_POINT_EVALUATION_PER_POINT_GAS
TBD
gas cost per evaluation point
We introduce a precompile to perform multi KZG point evaluation:
It verifies multiple KZG openings (z_i, y_i) for a single EIP-4844 blob commitment in one call. The verification uses BLS12-381 pairing operations internally to check the multi-point opening proof. Gas cost is defined by MULTI_POINT_EVALUATION_BASE_GAS + MULTI_POINT_EVALUATION_PER_POINT_GAS * n where n is the number of evaluation points.
The verify_kzg_proof_multi function performs multi-point opening verification using the EIP-4844 trusted setup and BLS12-381 pairing operations. Implementations typically use Lagrange interpolation to construct a polynomial through all (z_i, y_i) pairs, which has O(n²) complexity. When evaluation points align with roots of unity, FFT-based methods reduce this to O(n log n). The final verification step uses a single pairing check to verify all openings simultaneously.
Gas constants SHOULD ensure batching is cheaper than n separate 0x0A calls for n > 1. The verification internally uses BLS12-381 pairing operations, which are computationally expensive but enable efficient batch verification of multiple openings.
Rationale
Preserves EIP-4844 versioned-hash model and return format.
Adds a new precompile rather than modifying 0x0A to avoid compatibility risks.
MAX_MULTI_POINTS = 128 bounds input size while enabling meaningful savings.
Backwards Compatibility
No changes to EIP-4844 transactions, BLOBHASH, or the existing precompile at 0x0A.
Security Considerations
Reject non-canonical field elements (>= BLS_MODULUS).
Implementations MUST use the same trusted setup and subgroup checks as EIP-4844.
Gas pricing MUST reflect actual computational cost.
Chris Mata, "Multi KZG Point Evaluation Precompile,"
Ethereum Improvement Proposals, no. 8149, early access, February 2026. [Online serial].
Available: https://eips-wg.github.io/EIPs/8149/.