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

The verification key is responsible for storing the commitments to the precomputed (non-witnessk) polynomials used by the verifier. More...

#include <translator_flavor.hpp>

Inheritance diagram for bb::TranslatorFlavor::VerificationKey:
bb::NativeVerificationKey_< PrecomputedEntities< Commitment >, Transcript > bb::ECCVMFlavor::PrecomputedEntities< Commitment >

Public Member Functions

 VerificationKey ()
 
 VerificationKey (const std::shared_ptr< ProvingKey > &proving_key)
 
fr hash_through_transcript (const std::string &domain_separator, Transcript &transcript) const override
 Unused function because vk is hardcoded in recursive verifier, so no transcript hashing is needed.
 
- Public Member Functions inherited from bb::NativeVerificationKey_< PrecomputedEntities< Commitment >, Transcript >
bool operator== (const NativeVerificationKey_ &) const=default
 
virtual ~NativeVerificationKey_ ()=default
 
 NativeVerificationKey_ ()=default
 
 NativeVerificationKey_ (const size_t circuit_size, const size_t num_public_inputs)
 
virtual std::vector< typename Transcript::DataTypeto_field_elements () const
 Serialize verification key to field elements.
 
size_t from_field_elements (const std::span< const typename Transcript::DataType > &elements)
 Populate verification key from field elements.
 
fr hash () const
 A model function to show how to compute the VK hash(without the Transcript abstracting things away)
 
- Public Member Functions inherited from bb::ECCVMFlavor::PrecomputedEntities< Commitment >
bool operator== (const PrecomputedEntities &other) const=default
 
 DEFINE_FLAVOR_MEMBERS (DataType, lagrange_first, lagrange_second, lagrange_last)
 
DataType get_selectors ()
 

Additional Inherited Members

- Public Types inherited from bb::NativeVerificationKey_< PrecomputedEntities< Commitment >, Transcript >
using Commitment = typename PrecomputedCommitments::DataType
 
- Public Types inherited from bb::ECCVMFlavor::PrecomputedEntities< Commitment >
using DataType = Commitment
 
- Static Public Member Functions inherited from bb::NativeVerificationKey_< PrecomputedEntities< Commitment >, Transcript >
static size_t calc_num_data_types ()
 Calculate the number of field elements needed for serialization.
 
- Public Attributes inherited from bb::NativeVerificationKey_< PrecomputedEntities< Commitment >, Transcript >
uint64_t log_circuit_size
 
uint64_t num_public_inputs
 
uint64_t pub_inputs_offset
 

Detailed Description

The verification key is responsible for storing the commitments to the precomputed (non-witnessk) polynomials used by the verifier.

Note
Note the discrepancy with what sort of data is stored here vs in the proving key. We may want to resolve that, and split out separate PrecomputedPolynomials/Commitments data for clarity but also for portability of our circuits.

Definition at line 777 of file translator_flavor.hpp.

Constructor & Destructor Documentation

◆ VerificationKey() [1/2]

bb::TranslatorFlavor::VerificationKey::VerificationKey ( )
inline

Definition at line 780 of file translator_flavor.hpp.

◆ VerificationKey() [2/2]

bb::TranslatorFlavor::VerificationKey::VerificationKey ( const std::shared_ptr< ProvingKey > &  proving_key)
inline

Definition at line 792 of file translator_flavor.hpp.

Member Function Documentation

◆ hash_through_transcript()

fr bb::TranslatorFlavor::VerificationKey::hash_through_transcript ( const std::string &  domain_separator,
Transcript transcript 
) const
inlineoverridevirtual

Unused function because vk is hardcoded in recursive verifier, so no transcript hashing is needed.

Parameters
domain_separator
transcript

Reimplemented from bb::NativeVerificationKey_< PrecomputedEntities< Commitment >, Transcript >.

Definition at line 810 of file translator_flavor.hpp.


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