|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Internal verifier for multilinear batching sumcheck over a fixed number of claims. More...
#include <multilinear_batching_verifier.hpp>
Public Types | |
| using | Flavor = Flavor_ |
| using | FF = typename Flavor::FF |
| using | Curve = typename Flavor::Curve |
| using | Commitment = typename Flavor::Commitment |
| using | Transcript = typename Flavor::Transcript |
| using | Sumcheck = SumcheckVerifier< Flavor > |
| using | VerifierClaim = MultilinearBatchingVerifierClaim< Curve > |
| using | Proof = std::conditional_t< Curve::is_stdlib_type, stdlib::Proof< MegaCircuitBuilder >, HonkProof > |
Public Member Functions | |
| MultilinearBatchingVerifierInternal (const std::shared_ptr< Transcript > &transcript) | |
| std::pair< bool, VerifierClaim > | verify_proof (const std::vector< VerifierClaim > &claims) |
Static Public Attributes | |
| static constexpr size_t | NUM_CLAIMS = Flavor::NUM_CLAIMS |
| static constexpr bool | IsRecursive = Curve::is_stdlib_type |
Private Member Functions | |
| FF | compute_target_sum (const FF &alpha, const std::vector< VerifierClaim > &claims, std::span< const FF > scalars) const |
| VerifierClaim | compute_new_claim (const SumcheckOutput< Flavor > &sumcheck_result, const std::vector< VerifierClaim > &claims, std::vector< FF > scalars) |
| bool | check_eq_consistency (const SumcheckOutput< Flavor > &sumcheck_result, const std::vector< VerifierClaim > &claims) |
Private Attributes | |
| std::shared_ptr< Transcript > | transcript |
Internal verifier for multilinear batching sumcheck over a fixed number of claims.
The claims being batched are supplied in memory (the caller produced them via instance_to_accumulator); they are not read from the proof. The batching challenge is drawn from the shared transcript, whose state already commits to those claims via the group's instance sumchecks, so no separate hashing is required. The proof carries only the batching sumcheck. Not called directly: the public MultilinearBatchingVerifier routes to the correctly-instantiated internal verifier based on the runtime claim count.
Definition at line 26 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifierInternal< Flavor_ >::Commitment = typename Flavor::Commitment |
Definition at line 31 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifierInternal< Flavor_ >::Curve = typename Flavor::Curve |
Definition at line 30 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifierInternal< Flavor_ >::FF = typename Flavor::FF |
Definition at line 29 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifierInternal< Flavor_ >::Flavor = Flavor_ |
Definition at line 28 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifierInternal< Flavor_ >::Proof = std::conditional_t<Curve::is_stdlib_type, stdlib::Proof<MegaCircuitBuilder>, HonkProof> |
Definition at line 35 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifierInternal< Flavor_ >::Sumcheck = SumcheckVerifier<Flavor> |
Definition at line 33 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifierInternal< Flavor_ >::Transcript = typename Flavor::Transcript |
Definition at line 32 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifierInternal< Flavor_ >::VerifierClaim = MultilinearBatchingVerifierClaim<Curve> |
Definition at line 34 of file multilinear_batching_verifier.hpp.
|
explicit |
Definition at line 18 of file multilinear_batching_verifier.cpp.
|
private |
Definition at line 71 of file multilinear_batching_verifier.cpp.
|
private |
Definition at line 40 of file multilinear_batching_verifier.cpp.
|
private |
Definition at line 25 of file multilinear_batching_verifier.cpp.
| std::pair< bool, typename MultilinearBatchingVerifierInternal< Flavor_ >::VerifierClaim > bb::MultilinearBatchingVerifierInternal< Flavor_ >::verify_proof | ( | const std::vector< VerifierClaim > & | claims | ) |
Definition at line 90 of file multilinear_batching_verifier.cpp.
|
staticconstexpr |
Definition at line 38 of file multilinear_batching_verifier.hpp.
|
staticconstexpr |
Definition at line 37 of file multilinear_batching_verifier.hpp.
|
private |
Definition at line 48 of file multilinear_batching_verifier.hpp.