Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
row_disabling_polynomial.test.cpp File Reference

Go to the source code of this file.

Classes

class  RowDisablingPolynomialTest< Flavor >
 Test fixture for RowDisablingPolynomial tests. More...
 
struct  RowDisablingPolynomialTest< Flavor >::SumcheckSetup
 

Functions

 TEST (RowDisablingPolynomial, MasksRandomPaddingRows)
 Test that RowDisablingPolynomial correctly remove the contribution of random padding rows in ZK sumcheck.
 
 TEST (RowDisablingPolynomial, ComputeDisabledContribution)
 Test that RowDisablingPolynomial update eval and evaluate at challenge Details, check that evaluate_at_challenge returns u_2u_3...u_{d-1} Checks that update_evaluation works as expected in the first 2 rounds.
 
 TEST (RowDisablingPolynomial, FailsWithoutRowDisabling)
 Test that sumcheck FAILS when random padding is added WITHOUT RowDisablingPolynomial.
 

Function Documentation

◆ TEST() [1/3]

TEST ( RowDisablingPolynomial  ,
ComputeDisabledContribution   
)

Test that RowDisablingPolynomial update eval and evaluate at challenge Details, check that evaluate_at_challenge returns u_2u_3...u_{d-1} Checks that update_evaluation works as expected in the first 2 rounds.

Definition at line 216 of file row_disabling_polynomial.test.cpp.

◆ TEST() [2/3]

TEST ( RowDisablingPolynomial  ,
FailsWithoutRowDisabling   
)

Test that sumcheck FAILS when random padding is added WITHOUT RowDisablingPolynomial.

This test uses a non-ZK flavor to show that random padding breaks sumcheck when row disabling is not used

Definition at line 320 of file row_disabling_polynomial.test.cpp.

◆ TEST() [3/3]

TEST ( RowDisablingPolynomial  ,
MasksRandomPaddingRows   
)

Test that RowDisablingPolynomial correctly remove the contribution of random padding rows in ZK sumcheck.

This test verifies that when random elements are added to the last rows of witness polynomials, the sumcheck protocol still succeeds because RowDisablingPolynomial disables those rows.

The test:

  1. Creates a valid circuit with relations satisfied up to row (n - NUM_DISABLED_ROWS)
  2. Adds random values to the last NUM_DISABLED_ROWS rows (would break relations)
  3. Runs ZK sumcheck which multiplies relations by (1 - L_{n-1} - L_{n-2} - L_{n-3} - L_{n-4})
  4. Verifies that sumcheck succeeds despite the random padding

Definition at line 81 of file row_disabling_polynomial.test.cpp.