Skip to content

Commit

Permalink
Merge pull request #3835 from jtraglia/early-exit-zero-cells
Browse files Browse the repository at this point in the history
In batch cell verification, check if there are zero cells
  • Loading branch information
asn-d6 authored Jul 8, 2024
2 parents 9be0529 + b9e7b03 commit 1642610
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
3 changes: 1 addition & 2 deletions specs/_features/eip7594/polynomial-commitments-sampling.md
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,7 @@ def verify_cell_kzg_proof_batch_impl(row_commitments: Sequence[KZGCommitment],

# Step 4.2: Compute RLI = [sum_k r^k interpolation_poly_k(s)]
# Note: an efficient implementation would use the IDFT based method explained in the blog post
sum_interp_polys_coeff = [0]
sum_interp_polys_coeff = [0] * n
for k in range(num_cells):
interp_poly_coeff = interpolate_polynomialcoeff(coset_for_cell(column_indices[k]), cosets_evals[k])
interp_poly_scaled_coeff = multiply_polynomialcoeff([r_powers[k]], interp_poly_coeff)
Expand All @@ -567,7 +567,6 @@ def verify_cell_kzg_proof_batch_impl(row_commitments: Sequence[KZGCommitment],
]))
```


### Cell cosets

#### `coset_shift_for_cell`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,20 @@ def test_verify_cell_kzg_proof(spec):
assert spec.verify_cell_kzg_proof(commitment, cell_index, cells[cell_index], proofs[cell_index])


@with_eip7594_and_later
@spec_test
@single_phase
def test_verify_cell_kzg_proof_batch_zero_cells(spec):
# Verify with zero cells should return true
assert spec.verify_cell_kzg_proof_batch(
row_commitments_bytes=[],
row_indices=[],
column_indices=[],
cells=[],
proofs_bytes=[],
)


@with_eip7594_and_later
@spec_test
@single_phase
Expand Down

0 comments on commit 1642610

Please sign in to comment.