|
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 (ProverClaim &&accumulator_claim, ProverClaim &&instance_claim) | |
| Construct from accumulator and instance claims. | |
Public Attributes | |
| ProverPolynomials | polynomials |
| std::vector< FF > | accumulator_challenge |
| std::vector< FF > | instance_challenge |
| std::vector< FF > | accumulator_evaluations |
| std::vector< FF > | instance_evaluations |
| size_t | circuit_size |
| Commitment | non_shifted_accumulator_commitment |
| Commitment | shifted_accumulator_commitment |
| Commitment | non_shifted_instance_commitment |
| Commitment | shifted_instance_commitment |
| Polynomial | preshifted_accumulator |
| Polynomial | preshifted_instance |
The proving key for multilinear batching sumcheck.
In HyperNova folding, we reduce two 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 both claims simultaneously by checking: sum_x [ P_acc(x) * eq(x, r_acc) ] = v_acc sum_x [ P_inst(x) * eq(x, r_inst) ] = v_inst
where eq(x, r) is the equality polynomial that is 1 when x = r and 0 elsewhere on the hypercube.
After sumcheck, both claims are reduced to evaluations at a new random point u, producing a single combined claim that can be verified with one polynomial opening.
Field mapping from ProverClaim to ProvingKey:
Definition at line 201 of file multilinear_batching_flavor.hpp.
|
default |
| bb::MultilinearBatchingFlavor::ProvingKey::ProvingKey | ( | ProverClaim && | accumulator_claim, |
| ProverClaim && | instance_claim | ||
| ) |
Construct from accumulator and instance claims.
Takes ownership via move semantics. After construction, the claims are consumed.
Definition at line 14 of file multilinear_batching_flavor.cpp.
| std::vector<FF> bb::MultilinearBatchingFlavor::ProvingKey::accumulator_challenge |
Definition at line 207 of file multilinear_batching_flavor.hpp.
| std::vector<FF> bb::MultilinearBatchingFlavor::ProvingKey::accumulator_evaluations |
Definition at line 211 of file multilinear_batching_flavor.hpp.
| size_t bb::MultilinearBatchingFlavor::ProvingKey::circuit_size |
Definition at line 214 of file multilinear_batching_flavor.hpp.
| std::vector<FF> bb::MultilinearBatchingFlavor::ProvingKey::instance_challenge |
Definition at line 208 of file multilinear_batching_flavor.hpp.
| std::vector<FF> bb::MultilinearBatchingFlavor::ProvingKey::instance_evaluations |
Definition at line 212 of file multilinear_batching_flavor.hpp.
| Commitment bb::MultilinearBatchingFlavor::ProvingKey::non_shifted_accumulator_commitment |
Definition at line 217 of file multilinear_batching_flavor.hpp.
| Commitment bb::MultilinearBatchingFlavor::ProvingKey::non_shifted_instance_commitment |
Definition at line 219 of file multilinear_batching_flavor.hpp.
| ProverPolynomials bb::MultilinearBatchingFlavor::ProvingKey::polynomials |
Definition at line 204 of file multilinear_batching_flavor.hpp.
| Polynomial bb::MultilinearBatchingFlavor::ProvingKey::preshifted_accumulator |
Definition at line 223 of file multilinear_batching_flavor.hpp.
| Polynomial bb::MultilinearBatchingFlavor::ProvingKey::preshifted_instance |
Definition at line 224 of file multilinear_batching_flavor.hpp.
| Commitment bb::MultilinearBatchingFlavor::ProvingKey::shifted_accumulator_commitment |
Definition at line 218 of file multilinear_batching_flavor.hpp.
| Commitment bb::MultilinearBatchingFlavor::ProvingKey::shifted_instance_commitment |
Definition at line 220 of file multilinear_batching_flavor.hpp.