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

#include <verifier.hpp>

Public Types

using Flavor = AvmFlavor
 
using FF = Flavor::FF
 
using Commitment = Flavor::Commitment
 
using VerificationKey = Flavor::VerificationKey
 
using VerifierCommitmentKey = Flavor::VerifierCommitmentKey
 
using Transcript = Flavor::Transcript
 

Public Member Functions

 AvmVerifier ()=default
 
 AvmVerifier (AvmVerifier &&other) noexcept
 
 AvmVerifier (const AvmVerifier &other)=delete
 
virtual ~AvmVerifier ()=default
 
AvmVerifieroperator= (const AvmVerifier &other)=delete
 
AvmVerifieroperator= (AvmVerifier &&other) noexcept
 
bool verify_proof (const HonkProof &proof, const std::vector< std::vector< FF > > &public_inputs)
 Verify an AVM proof.
 

Public Attributes

std::shared_ptr< VerificationKeykey = std::make_shared<VerificationKey>()
 
std::shared_ptr< Transcripttranscript = std::make_shared<Transcript>()
 

Static Private Member Functions

static FF evaluate_public_input_column (const std::vector< FF > &points, const std::vector< FF > &challenges)
 Evaluate the given public input column over the multivariate challenge points.
 

Detailed Description

Definition at line 13 of file verifier.hpp.

Member Typedef Documentation

◆ Commitment

◆ FF

Definition at line 16 of file verifier.hpp.

◆ Flavor

Definition at line 15 of file verifier.hpp.

◆ Transcript

◆ VerificationKey

◆ VerifierCommitmentKey

Constructor & Destructor Documentation

◆ AvmVerifier() [1/3]

bb::avm2::AvmVerifier::AvmVerifier ( )
default

◆ AvmVerifier() [2/3]

bb::avm2::AvmVerifier::AvmVerifier ( AvmVerifier &&  other)
noexcept

Definition at line 17 of file verifier.cpp.

◆ AvmVerifier() [3/3]

bb::avm2::AvmVerifier::AvmVerifier ( const AvmVerifier other)
delete

◆ ~AvmVerifier()

virtual bb::avm2::AvmVerifier::~AvmVerifier ( )
virtualdefault

Member Function Documentation

◆ evaluate_public_input_column()

AvmVerifier::FF bb::avm2::AvmVerifier::evaluate_public_input_column ( const std::vector< FF > &  points,
const std::vector< FF > &  challenges 
)
staticprivate

Evaluate the given public input column over the multivariate challenge points.

Among its witness commitments, the AVM prover sends commitments to the public inputs. To enforce consistency between these commitments and the public inputs, the verifier computes the evaluation of the public inputs sent in the clear at the Sumcheck challenge and compares the result with the claimed evaluation sent by the Prover at the end of Sumcheck.

Parameters
pointsThe public input column to be evaluated
challengesThe sumcheck challenge
Returns
FF

Definition at line 41 of file verifier.cpp.

◆ operator=() [1/2]

AvmVerifier & bb::avm2::AvmVerifier::operator= ( AvmVerifier &&  other)
noexcept

Definition at line 22 of file verifier.cpp.

◆ operator=() [2/2]

AvmVerifier & bb::avm2::AvmVerifier::operator= ( const AvmVerifier other)
delete

◆ verify_proof()

bool bb::avm2::AvmVerifier::verify_proof ( const HonkProof proof,
const std::vector< std::vector< FF > > &  public_inputs 
)

Verify an AVM proof.

Definition at line 52 of file verifier.cpp.

Member Data Documentation

◆ key

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

Definition at line 32 of file verifier.hpp.

◆ transcript

std::shared_ptr<Transcript> bb::avm2::AvmVerifier::transcript = std::make_shared<Transcript>()

Definition at line 33 of file verifier.hpp.


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