|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <eccvm_recursive_verifier.hpp>
Classes | |
| struct | StdlibProof |
Public Member Functions | |
| ECCVMRecursiveVerifier (Builder *builder, const std::shared_ptr< NativeVerificationKey > &native_verifier_key, const std::shared_ptr< Transcript > &transcript) | |
| IpaClaimAndProof | verify_proof (const ECCVMProof &proof) |
| Creates a circuit that executes the ECCVM verifier algorithm up to IPA verification. | |
| IpaClaimAndProof | verify_proof (const StdlibProof &proof) |
| Creates a circuit that executes the ECCVM verifier algorithm up to IPA verification. | |
| void | compute_translation_opening_claims (const std::vector< Commitment > &translation_commitments) |
To link the ECCVM Transcript wires op, Px, Py, z1, and z2 to the accumulator computed by the translator, we verify their evaluations as univariates. For efficiency reasons, we batch these evaluations. | |
Public Attributes | |
| std::shared_ptr< VerificationKey > | key |
| BF | vk_hash |
| Builder * | builder |
| std::shared_ptr< Transcript > | transcript |
| TranslationEvaluations_< FF > | translation_evaluations |
| std::array< OpeningClaim< Curve >, NUM_OPENING_CLAIMS > | opening_claims |
| FF | translation_masking_term_eval |
| FF | evaluation_challenge_x |
| FF | batching_challenge_v |
Static Public Attributes | |
| static constexpr size_t | NUM_OPENING_CLAIMS = ECCVMFlavor::NUM_TRANSLATION_OPENING_CLAIMS + 1 |
Private Types | |
| using | Flavor = ECCVMRecursiveFlavor |
| using | FF = Flavor::FF |
| using | BF = Flavor::BF |
| using | Curve = Flavor::Curve |
| using | Commitment = Flavor::Commitment |
| using | CommitmentLabels = Flavor::CommitmentLabels |
| using | VerificationKey = Flavor::VerificationKey |
| using | NativeVerificationKey = Flavor::NativeVerificationKey |
| using | VerifierCommitmentKey = Flavor::VerifierCommitmentKey |
| using | Builder = Flavor::CircuitBuilder |
| using | PCS = Flavor::PCS |
| using | Transcript = StdlibTranscript< Builder > |
| using | VerifierCommitments = Flavor::VerifierCommitments |
| using | StdlibPreIpaProof = bb::stdlib::Proof< Builder > |
| using | StdlibIpaProof = bb::stdlib::Proof< Builder > |
| using | IpaClaimAndProof = std::pair< OpeningClaim< Curve >, StdlibIpaProof > |
Definition at line 14 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 17 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 24 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 19 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 20 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 18 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 16 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 15 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 30 of file eccvm_recursive_verifier.hpp.
Definition at line 22 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 25 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 29 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 28 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 26 of file eccvm_recursive_verifier.hpp.
|
private |
Definition at line 21 of file eccvm_recursive_verifier.hpp.
Definition at line 23 of file eccvm_recursive_verifier.hpp.
Definition at line 27 of file eccvm_recursive_verifier.hpp.
|
explicit |
Definition at line 14 of file eccvm_recursive_verifier.cpp.
| void bb::ECCVMRecursiveVerifier::compute_translation_opening_claims | ( | const std::vector< Commitment > & | translation_commitments | ) |
To link the ECCVM Transcript wires op, Px, Py, z1, and z2 to the accumulator computed by the translator, we verify their evaluations as univariates. For efficiency reasons, we batch these evaluations.
For details, see the docs of ECCVMProver::compute_translation_opening_claims() method.
| translation_commitments | Commitments to op, Px, Py, z1, and z2 |
opening_claims. Definition at line 168 of file eccvm_recursive_verifier.cpp.
| ECCVMRecursiveVerifier::IpaClaimAndProof bb::ECCVMRecursiveVerifier::verify_proof | ( | const ECCVMProof & | proof | ) |
Creates a circuit that executes the ECCVM verifier algorithm up to IPA verification.
| Flavor |
| proof | Native ECCVM proof |
Definition at line 33 of file eccvm_recursive_verifier.cpp.
| ECCVMRecursiveVerifier::IpaClaimAndProof bb::ECCVMRecursiveVerifier::verify_proof | ( | const StdlibProof & | proof | ) |
Creates a circuit that executes the ECCVM verifier algorithm up to IPA verification.
| Flavor |
| proof | Stdlib ECCVM proof |
Definition at line 45 of file eccvm_recursive_verifier.cpp.
| FF bb::ECCVMRecursiveVerifier::batching_challenge_v |
Definition at line 68 of file eccvm_recursive_verifier.hpp.
| Builder* bb::ECCVMRecursiveVerifier::builder |
Definition at line 56 of file eccvm_recursive_verifier.hpp.
| FF bb::ECCVMRecursiveVerifier::evaluation_challenge_x |
Definition at line 67 of file eccvm_recursive_verifier.hpp.
| std::shared_ptr<VerificationKey> bb::ECCVMRecursiveVerifier::key |
Definition at line 53 of file eccvm_recursive_verifier.hpp.
|
staticconstexpr |
Definition at line 62 of file eccvm_recursive_verifier.hpp.
| std::array<OpeningClaim<Curve>, NUM_OPENING_CLAIMS> bb::ECCVMRecursiveVerifier::opening_claims |
Definition at line 63 of file eccvm_recursive_verifier.hpp.
| std::shared_ptr<Transcript> bb::ECCVMRecursiveVerifier::transcript |
Definition at line 57 of file eccvm_recursive_verifier.hpp.
| TranslationEvaluations_<FF> bb::ECCVMRecursiveVerifier::translation_evaluations |
Definition at line 58 of file eccvm_recursive_verifier.hpp.
| FF bb::ECCVMRecursiveVerifier::translation_masking_term_eval |
Definition at line 64 of file eccvm_recursive_verifier.hpp.
| BF bb::ECCVMRecursiveVerifier::vk_hash |
Definition at line 54 of file eccvm_recursive_verifier.hpp.