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

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

#include <ultra_keccak_flavor.hpp>

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

Public Types

using MSGPACK_NO_STATIC_CHECK = std::true_type
 
- 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
 

Public Member Functions

 VerificationKey ()=default
 
 VerificationKey (const size_t circuit_size, const size_t num_public_inputs)
 
 VerificationKey (const PrecomputedData &precomputed)
 
 MSGPACK_FIELDS (log_circuit_size, num_public_inputs, pub_inputs_offset, q_m, q_c, q_l, q_r, q_o, q_4, q_lookup, q_arith, q_delta_range, q_elliptic, q_memory, q_nnf, q_poseidon2_external, q_poseidon2_internal, sigma_1, sigma_2, sigma_3, sigma_4, id_1, id_2, id_3, id_4, table_1, table_2, table_3, table_4, lagrange_first, lagrange_last)
 
- 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.
 
fr hash () const
 A model function to show how to compute the VK hash(without the Transcript abstracting things away)
 
virtual Transcript::DataType hash_through_transcript (const std::string &domain_separator, Transcript &transcript) const
 Hashes the vk using the transcript's independent buffer and returns the hash.
 
- 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 ()
 

Static Public Attributes

static constexpr size_t VERIFICATION_KEY_LENGTH
 

Additional Inherited Members

- 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 73 of file ultra_keccak_flavor.hpp.

Member Typedef Documentation

◆ MSGPACK_NO_STATIC_CHECK

using bb::UltraKeccakFlavor::VerificationKey::MSGPACK_NO_STATIC_CHECK = std::true_type

Definition at line 97 of file ultra_keccak_flavor.hpp.

Constructor & Destructor Documentation

◆ VerificationKey() [1/3]

bb::UltraKeccakFlavor::VerificationKey::VerificationKey ( )
default

◆ VerificationKey() [2/3]

bb::UltraKeccakFlavor::VerificationKey::VerificationKey ( const size_t  circuit_size,
const size_t  num_public_inputs 
)
inline

Definition at line 80 of file ultra_keccak_flavor.hpp.

◆ VerificationKey() [3/3]

bb::UltraKeccakFlavor::VerificationKey::VerificationKey ( const PrecomputedData precomputed)
inline

Definition at line 84 of file ultra_keccak_flavor.hpp.

Member Function Documentation

◆ MSGPACK_FIELDS()

bb::UltraKeccakFlavor::VerificationKey::MSGPACK_FIELDS ( log_circuit_size  ,
num_public_inputs  ,
pub_inputs_offset  ,
q_m  ,
q_c  ,
q_l  ,
q_r  ,
q_o  ,
q_4  ,
q_lookup  ,
q_arith  ,
q_delta_range  ,
q_elliptic  ,
q_memory  ,
q_nnf  ,
q_poseidon2_external  ,
q_poseidon2_internal  ,
sigma_1  ,
sigma_2  ,
sigma_3  ,
sigma_4  ,
id_1  ,
id_2  ,
id_3  ,
id_4  ,
table_1  ,
table_2  ,
table_3  ,
table_4  ,
lagrange_first  ,
lagrange_last   
)

Member Data Documentation

◆ VERIFICATION_KEY_LENGTH

constexpr size_t bb::UltraKeccakFlavor::VerificationKey::VERIFICATION_KEY_LENGTH
staticconstexpr
Initial value:
=
static constexpr size_t NUM_PRECOMPUTED_ENTITIES
static constexpr size_t num_elements_comm
static constexpr size_t num_elements_fr

Definition at line 75 of file ultra_keccak_flavor.hpp.


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