|
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 provided to the Hypernova verifier as an incoming instance. 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 | SubrelationSeparator = typename Flavor::SubrelationSeparator |
| 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_with_origin_tagging (const std::string &domain_separator, Transcript &transcript) const |
| Tag all components and hash. | |
| MSGPACK_FIELDS (vk, relation_parameters, alpha, is_complete, gate_challenges, witness_commitments, gemini_masking_commitment) | |
Public Attributes | |
| std::shared_ptr< VerificationKey > | vk |
| bool | is_complete = false |
| std::vector< FF > | public_inputs |
| SubrelationSeparator | alpha |
| RelationParameters< FF > | relation_parameters |
| std::vector< FF > | gate_challenges |
| WitnessCommitments | witness_commitments |
| CommitmentLabels | commitment_labels |
| Commitment | gemini_masking_commitment |
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 provided to the Hypernova verifier as an incoming instance.
Definition at line 19 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::Commitment = typename Flavor::Commitment |
Definition at line 23 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::CommitmentLabels = typename Flavor::CommitmentLabels |
Definition at line 27 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::FF = typename Flavor::FF |
Definition at line 22 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::Flavor = Flavor_ |
Definition at line 21 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::SubrelationSeparator = typename Flavor::SubrelationSeparator |
Definition at line 28 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::Transcript = typename Flavor::Transcript |
Definition at line 29 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::VerificationKey = typename Flavor::VerificationKey |
Definition at line 24 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::VerifierCommitmentKey = typename Flavor::VerifierCommitmentKey |
Definition at line 25 of file verifier_instance.hpp.
| using bb::VerifierInstance_< Flavor_ >::WitnessCommitments = typename Flavor::WitnessCommitments |
Definition at line 26 of file verifier_instance.hpp.
|
default |
|
inline |
Definition at line 47 of file verifier_instance.hpp.
|
inline |
Get the verification key.
Definition at line 55 of file verifier_instance.hpp.
|
inline |
Tag all components and hash.
Tags all instance components (VK, commitments, challenges) with transcript context to ensure proper origin tag tracking for recursive verification.
| domain_separator | (currently unused, kept for API compatibility) |
| transcript | Used to extract tag context (transcript_index, round_index) |
Definition at line 66 of file verifier_instance.hpp.
| bb::VerifierInstance_< Flavor_ >::MSGPACK_FIELDS | ( | vk | , |
| relation_parameters | , | ||
| alpha | , | ||
| is_complete | , | ||
| gate_challenges | , | ||
| witness_commitments | , | ||
| gemini_masking_commitment | |||
| ) |
| SubrelationSeparator bb::VerifierInstance_< Flavor_ >::alpha |
Definition at line 36 of file verifier_instance.hpp.
| CommitmentLabels bb::VerifierInstance_< Flavor_ >::commitment_labels |
Definition at line 41 of file verifier_instance.hpp.
| std::vector<FF> bb::VerifierInstance_< Flavor_ >::gate_challenges |
Definition at line 38 of file verifier_instance.hpp.
| Commitment bb::VerifierInstance_< Flavor_ >::gemini_masking_commitment |
Definition at line 44 of file verifier_instance.hpp.
| bool bb::VerifierInstance_< Flavor_ >::is_complete = false |
Definition at line 33 of file verifier_instance.hpp.
| std::vector<FF> bb::VerifierInstance_< Flavor_ >::public_inputs |
Definition at line 34 of file verifier_instance.hpp.
| RelationParameters<FF> bb::VerifierInstance_< Flavor_ >::relation_parameters |
Definition at line 37 of file verifier_instance.hpp.
| std::shared_ptr<VerificationKey> bb::VerifierInstance_< Flavor_ >::vk |
Definition at line 31 of file verifier_instance.hpp.
| WitnessCommitments bb::VerifierInstance_< Flavor_ >::witness_commitments |
Definition at line 40 of file verifier_instance.hpp.