|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <multilinear_batching_verifier.hpp>
Public Types | |
| using | Flavor = Flavor_ |
| using | FF = typename Flavor::FF |
| using | Curve = typename Flavor::Curve |
| using | Transcript = typename Flavor::Transcript |
| using | Commitment = typename Flavor::Commitment |
| using | Sumcheck = SumcheckVerifier< Flavor > |
| using | VerifierClaim = MultilinearBatchingVerifierClaim< Curve > |
| using | Proof = std::vector< FF > |
| using | InstanceFlavor = std::conditional_t< std::is_same_v< Flavor, MultilinearBatchingFlavor >, MegaFlavor, MegaRecursiveFlavor_< MegaCircuitBuilder > > |
| using | InstanceCommitments = InstanceFlavor::VerifierCommitments |
| using | InstanceFF = InstanceFlavor::FF |
Public Member Functions | |
| MultilinearBatchingVerifier (const std::shared_ptr< Transcript > &transcript) | |
| std::pair< bool, VerifierClaim > | verify_proof (SumcheckOutput< InstanceFlavor > &instance_sumcheck, InstanceCommitments &verifier_commitments, std::vector< InstanceFF > &unshifted_challenges, std::vector< InstanceFF > &shifted_challenges) |
Static Public Attributes | |
| static constexpr size_t | NUM_UNSHIFTED_ENTITIES = MegaFlavor::NUM_UNSHIFTED_ENTITIES |
| static constexpr size_t | NUM_SHIFTED_ENTITIES = MegaFlavor::NUM_SHIFTED_ENTITIES |
Private Member Functions | |
| FF | compute_new_target_sum (const FF &alpha, SumcheckOutput< InstanceFlavor > &instance_sumcheck, const std::vector< InstanceFF > &unshifted_challenges, const std::vector< InstanceFF > &shifted_challenges, const FF &accumulator_non_shifted_evaluation, const FF &accumulator_shifted_evaluation) const |
| Utility to compute the new target sum for the batching sumcheck. | |
| template<size_t N> | |
| Commitment | batch_mul (RefArray< Commitment, N > instance_commitments, const Commitment &accumulator_commitment, std::vector< FF > &scalars, const FF &batching_challenge) |
| Utility to perform batch mul of commitments. | |
| VerifierClaim | compute_new_claim (const SumcheckOutput< Flavor > &sumcheck_result, InstanceCommitments &verifier_commitments, std::vector< InstanceFF > &unshifted_challenges, std::vector< InstanceFF > &shifted_challenges, const Commitment &non_shifted_accumulator_commitment, const Commitment &shifted_accumulator_commitment, const FF &batching_challenge) |
| Utility to compute the new claim after the batching sumcheck. | |
Private Attributes | |
| std::shared_ptr< Transcript > | transcript |
| std::shared_ptr< VerifierClaim > | accumulator_claim |
| std::shared_ptr< VerifierClaim > | instance_claim |
Definition at line 22 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::Commitment = typename Flavor::Commitment |
Definition at line 29 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::Curve = typename Flavor::Curve |
Definition at line 26 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::FF = typename Flavor::FF |
Definition at line 25 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::Flavor = Flavor_ |
Definition at line 24 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::InstanceCommitments = InstanceFlavor::VerifierCommitments |
Definition at line 37 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::InstanceFF = InstanceFlavor::FF |
Definition at line 38 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::InstanceFlavor = std::conditional_t<std::is_same_v<Flavor, MultilinearBatchingFlavor>, MegaFlavor, MegaRecursiveFlavor_<MegaCircuitBuilder> > |
Definition at line 34 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::Proof = std::vector<FF> |
Definition at line 32 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::Sumcheck = SumcheckVerifier<Flavor> |
Definition at line 30 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::Transcript = typename Flavor::Transcript |
Definition at line 27 of file multilinear_batching_verifier.hpp.
| using bb::MultilinearBatchingVerifier< Flavor_ >::VerifierClaim = MultilinearBatchingVerifierClaim<Curve> |
Definition at line 31 of file multilinear_batching_verifier.hpp.
|
explicit |
Definition at line 17 of file multilinear_batching_verifier.cpp.
|
private |
Utility to perform batch mul of commitments.
Definition at line 54 of file multilinear_batching_verifier.cpp.
|
private |
Utility to compute the new claim after the batching sumcheck.
Definition at line 75 of file multilinear_batching_verifier.cpp.
|
private |
Utility to compute the new target sum for the batching sumcheck.
Definition at line 22 of file multilinear_batching_verifier.cpp.
| std::pair< bool, typename MultilinearBatchingVerifier< Flavor_ >::VerifierClaim > bb::MultilinearBatchingVerifier< Flavor_ >::verify_proof | ( | SumcheckOutput< InstanceFlavor > & | instance_sumcheck, |
| InstanceCommitments & | verifier_commitments, | ||
| std::vector< InstanceFF > & | unshifted_challenges, | ||
| std::vector< InstanceFF > & | shifted_challenges | ||
| ) |
Definition at line 111 of file multilinear_batching_verifier.cpp.
|
private |
Definition at line 51 of file multilinear_batching_verifier.hpp.
|
private |
Definition at line 52 of file multilinear_batching_verifier.hpp.
|
staticconstexpr |
Definition at line 40 of file multilinear_batching_verifier.hpp.
|
staticconstexpr |
Definition at line 39 of file multilinear_batching_verifier.hpp.
|
private |
Definition at line 50 of file multilinear_batching_verifier.hpp.