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 removes the contribution of random masking 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 209 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 306 of file row_disabling_polynomial.test.cpp.

◆ TEST() [3/3]

TEST ( RowDisablingPolynomial  ,
MasksRandomPaddingRows   
)

Test that RowDisablingPolynomial correctly removes the contribution of random masking rows in ZK sumcheck.

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

The test:

  1. Creates a valid circuit with relations satisfied from row NUM_DISABLED_ROWS onward
  2. Adds random values to the first NUM_DISABLED_ROWS rows (would break relations)
  3. Runs ZK sumcheck which multiplies relations by the row-disabling polynomial (zero on first 4 rows)
  4. Verifies that sumcheck succeeds despite the random masking

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