|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
The VerifierInstance encapsulates all the necessary information for a Mega Honk Verifier to verify a proof (sumcheck + Shplemini). In the context of folding, this is returned by the Protogalaxy verifier with non-zero target sum. More...
#include <verifier_instance.hpp>
Public Types | |
| using | Flavor = Flavor_ |
| using | FF = typename Flavor::FF |
| using | Commitment = typename Flavor::Commitment |
| using | VerificationKey = typename Flavor::VerificationKey |
| using | VerifierCommitmentKey = typename Flavor::VerifierCommitmentKey |
| using | WitnessCommitments = typename Flavor::WitnessCommitments |
| using | CommitmentLabels = typename Flavor::CommitmentLabels |
| using | SubrelationSeparators = typename Flavor::SubrelationSeparators |
| using | Transcript = typename Flavor::Transcript |
Public Member Functions | |
| VerifierInstance_ ()=default | |
| VerifierInstance_ (std::shared_ptr< VerificationKey > vk) | |
| std::shared_ptr< VerificationKey > | get_vk () const |
| Get the verification key. | |
| FF | hash_through_transcript (const std::string &domain_separator, Transcript &transcript) const |
| MSGPACK_FIELDS (vk, relation_parameters, alphas, is_complete, gate_challenges, target_sum, witness_commitments) | |
Public Attributes | |
| std::shared_ptr< VerificationKey > | vk |
| bool | is_complete = false |
| std::vector< FF > | public_inputs |
| SubrelationSeparators | alphas |
| RelationParameters< FF > | relation_parameters |
| std::vector< FF > | gate_challenges |
| FF | target_sum { 0 } |
| WitnessCommitments | witness_commitments |
| CommitmentLabels | commitment_labels |
The VerifierInstance encapsulates all the necessary information for a Mega Honk Verifier to verify a proof (sumcheck + Shplemini). In the context of folding, this is returned by the Protogalaxy verifier with non-zero target sum.
This is \(\phi\) in the Protogalaxy paper. It is the committed version of a ProverInstance_. With the notation used in ProverInstance_, a prover instance is \(\omega = (p_1, \dots, p_M, \theta_1, \dots, \theta_6, \alpha_{1,1}, \dots, \alpha_{n,r_n})\) where the \(p_i\)'s are the prover polynomials, the \(\theta_i\)'s are the relation parameters, and the \(\alpha_{i,j}\)'s are the subrelation batching parameters. Then, \(\phi\) is given by \(\omega = ([p_1], \dots, [p_M], \theta_1, \dots, \theta_6, \alpha_{1,1}, \dots, \alpha_{n,r_n})\)m where [p_i] denotes the commitment to the i-th prover polynomial.
Definition at line 25 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::Commitment = typename Flavor::Commitment |
Definition at line 29 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::CommitmentLabels = typename Flavor::CommitmentLabels |
Definition at line 33 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::FF = typename Flavor::FF |
Definition at line 28 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::Flavor = Flavor_ |
Definition at line 27 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::SubrelationSeparators = typename Flavor::SubrelationSeparators |
Definition at line 34 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::Transcript = typename Flavor::Transcript |
Definition at line 35 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::VerificationKey = typename Flavor::VerificationKey |
Definition at line 30 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::VerifierCommitmentKey = typename Flavor::VerifierCommitmentKey |
Definition at line 31 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::WitnessCommitments = typename Flavor::WitnessCommitments |
Definition at line 32 of file verifier_instance.hpp.
|
default |
|
inline |
Definition at line 52 of file verifier_instance.hpp.
|
inline |
Get the verification key.
Definition at line 60 of file verifier_instance.hpp.
|
inline |
Definition at line 62 of file verifier_instance.hpp.
| bb::VerifierInstance_< Flavor_ >::MSGPACK_FIELDS | ( | vk | , |
| relation_parameters | , | ||
| alphas | , | ||
| is_complete | , | ||
| gate_challenges | , | ||
| target_sum | , | ||
| witness_commitments | |||
| ) |
| SubrelationSeparators bb::VerifierInstance_< Flavor_ >::alphas |
Definition at line 42 of file verifier_instance.hpp.
| CommitmentLabels bb::VerifierInstance_< Flavor_ >::commitment_labels |
Definition at line 49 of file verifier_instance.hpp.
| std::vector<FF> bb::VerifierInstance_< Flavor_ >::gate_challenges |
Definition at line 44 of file verifier_instance.hpp.
| bool bb::VerifierInstance_< Flavor_ >::is_complete = false |
Definition at line 39 of file verifier_instance.hpp.
| std::vector<FF> bb::VerifierInstance_< Flavor_ >::public_inputs |
Definition at line 40 of file verifier_instance.hpp.
| RelationParameters<FF> bb::VerifierInstance_< Flavor_ >::relation_parameters |
Definition at line 43 of file verifier_instance.hpp.
| FF bb::VerifierInstance_< Flavor_ >::target_sum { 0 } |
Definition at line 46 of file verifier_instance.hpp.
| std::shared_ptr<VerificationKey> bb::VerifierInstance_< Flavor_ >::vk |
Definition at line 37 of file verifier_instance.hpp.
| WitnessCommitments bb::VerifierInstance_< Flavor_ >::witness_commitments |
Definition at line 48 of file verifier_instance.hpp.