Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::ECCVMVerifier Class Reference

#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_CLAIMSopening_claims
 
std::shared_ptr< VerificationKeykey = std::make_shared<VerificationKey>()
 
std::map< std::string, Commitmentcommitments
 
std::shared_ptr< Transcripttranscript
 
std::shared_ptr< Transcriptipa_transcript = std::make_shared<Transcript>()
 
TranslationEvaluations_< FFtranslation_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
 

Detailed Description

Definition at line 12 of file eccvm_verifier.hpp.

Member Typedef Documentation

◆ Commitment

Definition at line 16 of file eccvm_verifier.hpp.

◆ CommitmentLabels

◆ Curve

Definition at line 15 of file eccvm_verifier.hpp.

◆ FF

Definition at line 14 of file eccvm_verifier.hpp.

◆ Flavor

Definition at line 13 of file eccvm_verifier.hpp.

◆ PCS

Definition at line 23 of file eccvm_verifier.hpp.

◆ ProvingKey

Definition at line 19 of file eccvm_verifier.hpp.

◆ Transcript

Definition at line 18 of file eccvm_verifier.hpp.

◆ VerificationKey

◆ VerifierCommitmentKey

◆ VerifierCommitments

Constructor & Destructor Documentation

◆ ECCVMVerifier()

bb::ECCVMVerifier::ECCVMVerifier ( const std::shared_ptr< Transcript > &  transcript)
inlineexplicit

Definition at line 26 of file eccvm_verifier.hpp.

Member Function Documentation

◆ compute_translation_opening_claims()

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.

Parameters
translation_commitmentsCommitments to op, Px, Py, z1, and z2
Returns
Populate opening_claims.

Definition at line 146 of file eccvm_verifier.cpp.

◆ verify_proof()

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.

Member Data Documentation

◆ batching_challenge_v

FF bb::ECCVMVerifier::batching_challenge_v

Definition at line 48 of file eccvm_verifier.hpp.

◆ circuit_size

uint32_t bb::ECCVMVerifier::circuit_size

Definition at line 33 of file eccvm_verifier.hpp.

◆ commitments

std::map<std::string, Commitment> bb::ECCVMVerifier::commitments

Definition at line 40 of file eccvm_verifier.hpp.

◆ evaluation_challenge_x

FF bb::ECCVMVerifier::evaluation_challenge_x

Definition at line 47 of file eccvm_verifier.hpp.

◆ ipa_transcript

std::shared_ptr<Transcript> bb::ECCVMVerifier::ipa_transcript = std::make_shared<Transcript>()

Definition at line 42 of file eccvm_verifier.hpp.

◆ key

std::shared_ptr<VerificationKey> bb::ECCVMVerifier::key = std::make_shared<VerificationKey>()

Definition at line 39 of file eccvm_verifier.hpp.

◆ NUM_OPENING_CLAIMS

constexpr size_t bb::ECCVMVerifier::NUM_OPENING_CLAIMS = ECCVMFlavor::NUM_TRANSLATION_OPENING_CLAIMS + 1
staticconstexpr

Definition at line 36 of file eccvm_verifier.hpp.

◆ opening_claims

std::array<OpeningClaim<Curve>, NUM_OPENING_CLAIMS> bb::ECCVMVerifier::opening_claims

Definition at line 37 of file eccvm_verifier.hpp.

◆ transcript

std::shared_ptr<Transcript> bb::ECCVMVerifier::transcript

Definition at line 41 of file eccvm_verifier.hpp.

◆ translation_evaluations

TranslationEvaluations_<FF> bb::ECCVMVerifier::translation_evaluations

Definition at line 44 of file eccvm_verifier.hpp.

◆ translation_masking_consistency_checked

bool bb::ECCVMVerifier::translation_masking_consistency_checked = false

Definition at line 52 of file eccvm_verifier.hpp.

◆ translation_masking_term_eval

FF bb::ECCVMVerifier::translation_masking_term_eval

Definition at line 50 of file eccvm_verifier.hpp.


The documentation for this class was generated from the following files: