Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <eccvm_verifier.hpp>
Public Member Functions | |
ECCVMVerifier (const std::shared_ptr< Transcript > &transcript) | |
bool | verify_proof (const ECCVMProof &proof) |
This function verifies an ECCVM Honk proof for given program settings. | |
void | compute_translation_opening_claims (const std::array< Commitment, NUM_TRANSLATION_EVALUATIONS > &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 | |
uint32_t | circuit_size |
std::array< OpeningClaim< Curve >, NUM_OPENING_CLAIMS > | opening_claims |
std::shared_ptr< VerificationKey > | key = std::make_shared<VerificationKey>() |
std::map< std::string, Commitment > | commitments |
std::shared_ptr< Transcript > | transcript |
std::shared_ptr< Transcript > | ipa_transcript = std::make_shared<Transcript>() |
TranslationEvaluations_< FF > | translation_evaluations |
FF | evaluation_challenge_x |
FF | batching_challenge_v |
FF | translation_masking_term_eval |
bool | translation_masking_consistency_checked = false |
Static Public Attributes | |
static constexpr size_t | NUM_OPENING_CLAIMS = ECCVMFlavor::NUM_TRANSLATION_OPENING_CLAIMS + 1 |
Private Types | |
using | Flavor = ECCVMFlavor |
using | FF = Flavor::FF |
using | Curve = Flavor::Curve |
using | Commitment = Flavor::Commitment |
using | CommitmentLabels = Flavor::CommitmentLabels |
using | Transcript = Flavor::Transcript |
using | ProvingKey = Flavor::ProvingKey |
using | VerificationKey = Flavor::VerificationKey |
using | VerifierCommitments = Flavor::VerifierCommitments |
using | VerifierCommitmentKey = Flavor::VerifierCommitmentKey |
using | PCS = Flavor::PCS |
Definition at line 12 of file eccvm_verifier.hpp.
|
private |
Definition at line 16 of file eccvm_verifier.hpp.
|
private |
Definition at line 17 of file eccvm_verifier.hpp.
|
private |
Definition at line 15 of file eccvm_verifier.hpp.
|
private |
Definition at line 14 of file eccvm_verifier.hpp.
|
private |
Definition at line 13 of file eccvm_verifier.hpp.
|
private |
Definition at line 23 of file eccvm_verifier.hpp.
|
private |
Definition at line 19 of file eccvm_verifier.hpp.
|
private |
Definition at line 18 of file eccvm_verifier.hpp.
|
private |
Definition at line 20 of file eccvm_verifier.hpp.
Definition at line 22 of file eccvm_verifier.hpp.
|
private |
Definition at line 21 of file eccvm_verifier.hpp.
|
inlineexplicit |
Definition at line 26 of file eccvm_verifier.hpp.
void bb::ECCVMVerifier::compute_translation_opening_claims | ( | const std::array< Commitment, NUM_TRANSLATION_EVALUATIONS > & | 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 146 of file eccvm_verifier.cpp.
bool bb::ECCVMVerifier::verify_proof | ( | const ECCVMProof & | proof | ) |
This function verifies an ECCVM Honk proof for given program settings.
Definition at line 18 of file eccvm_verifier.cpp.
FF bb::ECCVMVerifier::batching_challenge_v |
Definition at line 48 of file eccvm_verifier.hpp.
uint32_t bb::ECCVMVerifier::circuit_size |
Definition at line 33 of file eccvm_verifier.hpp.
std::map<std::string, Commitment> bb::ECCVMVerifier::commitments |
Definition at line 40 of file eccvm_verifier.hpp.
FF bb::ECCVMVerifier::evaluation_challenge_x |
Definition at line 47 of file eccvm_verifier.hpp.
std::shared_ptr<Transcript> bb::ECCVMVerifier::ipa_transcript = std::make_shared<Transcript>() |
Definition at line 42 of file eccvm_verifier.hpp.
std::shared_ptr<VerificationKey> bb::ECCVMVerifier::key = std::make_shared<VerificationKey>() |
Definition at line 39 of file eccvm_verifier.hpp.
|
staticconstexpr |
Definition at line 36 of file eccvm_verifier.hpp.
std::array<OpeningClaim<Curve>, NUM_OPENING_CLAIMS> bb::ECCVMVerifier::opening_claims |
Definition at line 37 of file eccvm_verifier.hpp.
std::shared_ptr<Transcript> bb::ECCVMVerifier::transcript |
Definition at line 41 of file eccvm_verifier.hpp.
TranslationEvaluations_<FF> bb::ECCVMVerifier::translation_evaluations |
Definition at line 44 of file eccvm_verifier.hpp.
bool bb::ECCVMVerifier::translation_masking_consistency_checked = false |
Definition at line 52 of file eccvm_verifier.hpp.
FF bb::ECCVMVerifier::translation_masking_term_eval |
Definition at line 50 of file eccvm_verifier.hpp.