|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
The proving key for multilinear batching sumcheck. More...
#include <multilinear_batching_flavor.hpp>
Public Member Functions | |
| ProvingKey ()=default | |
| ProvingKey (std::vector< ProverClaim > &&claims) | |
Public Attributes | |
| ProverPolynomials | polynomials |
| std::array< Polynomial, NUM_CLAIMS > | preshifted_polynomials |
| std::array< Commitment, NUM_CLAIMS > | non_shifted_commitments |
| std::array< Commitment, NUM_CLAIMS > | shifted_commitments |
| std::array< FF, NUM_CLAIMS > | non_shifted_evaluations |
| std::array< FF, NUM_CLAIMS > | shifted_evaluations |
| size_t | circuit_size = 0 |
The proving key for multilinear batching sumcheck.
In HyperNova folding, we reduce NumClaims polynomial evaluation claims to one via sumcheck.
Each claim asserts: "polynomial P evaluated at point r equals v", i.e., P(r) = v.
The multilinear batching sumcheck proves all claims simultaneously by checking: sum_x [ sum_i \gamma^i P_i(x) * eq(x, r_i) ] = \sum_i \gamma^i v_i
where eq(x, r) is the equality polynomial that is 1 when x = r and 0 elsewhere on the hypercube, and \gamma is the polynomial batching challenge applied as a public per-slot relation coefficient.
After sumcheck, all claims are reduced to evaluations of the original polynomials at a new random point u. These are then combined into a single accumulator claim using a fresh challenge \rho (drawn once the claimed evaluations are bound to the transcript), so that the single opening of the combined commitment binds each P_i(u) individually.
Definition at line 166 of file multilinear_batching_flavor.hpp.
|
default |
|
explicit |
Definition at line 16 of file multilinear_batching_prover.cpp.
| size_t bb::MultilinearBatchingFlavor_< NumClaims >::ProvingKey::circuit_size = 0 |
Definition at line 174 of file multilinear_batching_flavor.hpp.
| std::array<Commitment, NUM_CLAIMS> bb::MultilinearBatchingFlavor_< NumClaims >::ProvingKey::non_shifted_commitments |
Definition at line 170 of file multilinear_batching_flavor.hpp.
| std::array<FF, NUM_CLAIMS> bb::MultilinearBatchingFlavor_< NumClaims >::ProvingKey::non_shifted_evaluations |
Definition at line 172 of file multilinear_batching_flavor.hpp.
| ProverPolynomials bb::MultilinearBatchingFlavor_< NumClaims >::ProvingKey::polynomials |
Definition at line 168 of file multilinear_batching_flavor.hpp.
| std::array<Polynomial, NUM_CLAIMS> bb::MultilinearBatchingFlavor_< NumClaims >::ProvingKey::preshifted_polynomials |
Definition at line 169 of file multilinear_batching_flavor.hpp.
| std::array<Commitment, NUM_CLAIMS> bb::MultilinearBatchingFlavor_< NumClaims >::ProvingKey::shifted_commitments |
Definition at line 171 of file multilinear_batching_flavor.hpp.
| std::array<FF, NUM_CLAIMS> bb::MultilinearBatchingFlavor_< NumClaims >::ProvingKey::shifted_evaluations |
Definition at line 173 of file multilinear_batching_flavor.hpp.