Barretenberg
The ZK-SNARK library at the core of Aztec
|
Verifier class for all the presumcheck rounds, which are shared between the folding verifier and ultra verifier. More...
#include <oink_verifier.hpp>
Public Member Functions | |
OinkVerifier (const std::shared_ptr< DeciderVK > &verification_key, const std::shared_ptr< Transcript > &transcript, std::string domain_separator="") | |
void | verify () |
Oink Verifier function that runs all the rounds of the verifier. | |
void | execute_preamble_round () |
Get circuit size, public input size, and public inputs from transcript. | |
void | execute_wire_commitments_round () |
Get the wire polynomials (part of the witness), with the exception of the fourth wire, which is only received after adding memory records. In the Goblin Flavor, we also receive the ECC OP wires and the DataBus columns. | |
void | execute_sorted_list_accumulator_round () |
Get sorted witness-table accumulator and fourth wire commitments. | |
void | execute_log_derivative_inverse_round () |
Get log derivative inverse polynomial and its commitment, if MegaFlavor. | |
void | execute_grand_product_computation_round () |
Compute lookup grand product delta and get permutation and lookup grand product commitments. | |
SubrelationSeparators | generate_alphas_round () |
Public Attributes | |
std::shared_ptr< Transcript > | transcript |
std::shared_ptr< DeciderVK > | verification_key |
std::string | domain_separator |
Flavor::CommitmentLabels | comm_labels |
bb::RelationParameters< FF > | relation_parameters |
WitnessCommitments | witness_comms |
Private Types | |
using | DeciderVK = DeciderVerificationKey_< Flavor > |
using | WitnessCommitments = typename Flavor::WitnessCommitments |
using | Transcript = typename Flavor::Transcript |
using | FF = typename Flavor::FF |
using | Commitment = typename Flavor::Commitment |
using | SubrelationSeparators = typename Flavor::SubrelationSeparators |
Verifier class for all the presumcheck rounds, which are shared between the folding verifier and ultra verifier.
This class contains execute_preamble_round(), execute_wire_commitments_round(), execute_sorted_list_accumulator_round(), execute_log_derivative_inverse_round(), and execute_grand_product_computation_round().
Flavor |
Definition at line 22 of file oink_verifier.hpp.
|
private |
Definition at line 27 of file oink_verifier.hpp.
|
private |
Definition at line 23 of file oink_verifier.hpp.
|
private |
Definition at line 26 of file oink_verifier.hpp.
|
private |
Definition at line 28 of file oink_verifier.hpp.
|
private |
Definition at line 25 of file oink_verifier.hpp.
|
private |
Definition at line 24 of file oink_verifier.hpp.
|
inline |
Definition at line 38 of file oink_verifier.hpp.
void bb::OinkVerifier< Flavor >::execute_grand_product_computation_round | ( | ) |
Compute lookup grand product delta and get permutation and lookup grand product commitments.
Definition at line 137 of file oink_verifier.cpp.
void bb::OinkVerifier< Flavor >::execute_log_derivative_inverse_round | ( | ) |
Get log derivative inverse polynomial and its commitment, if MegaFlavor.
Definition at line 114 of file oink_verifier.cpp.
void bb::OinkVerifier< Flavor >::execute_preamble_round | ( | ) |
Get circuit size, public input size, and public inputs from transcript.
Definition at line 47 of file oink_verifier.cpp.
void bb::OinkVerifier< Flavor >::execute_sorted_list_accumulator_round | ( | ) |
Get sorted witness-table accumulator and fourth wire commitments.
Definition at line 93 of file oink_verifier.cpp.
void bb::OinkVerifier< Flavor >::execute_wire_commitments_round | ( | ) |
Get the wire polynomials (part of the witness), with the exception of the fourth wire, which is only received after adding memory records. In the Goblin Flavor, we also receive the ECC OP wires and the DataBus columns.
Definition at line 67 of file oink_verifier.cpp.
Flavor::SubrelationSeparators bb::OinkVerifier< Flavor >::generate_alphas_round | ( | ) |
Definition at line 150 of file oink_verifier.cpp.
void bb::OinkVerifier< Flavor >::verify | ( | ) |
Oink Verifier function that runs all the rounds of the verifier.
Returns the witness commitments and relation_parameters. If used as a standalone function, the proof returned by the OinkProver must be loaded into the transcript of the OinkVerifier before calling OinkVerifier::verify()
Flavor |
Definition at line 28 of file oink_verifier.cpp.
Flavor::CommitmentLabels bb::OinkVerifier< Flavor >::comm_labels |
Definition at line 34 of file oink_verifier.hpp.
std::string bb::OinkVerifier< Flavor >::domain_separator |
Definition at line 33 of file oink_verifier.hpp.
bb::RelationParameters<FF> bb::OinkVerifier< Flavor >::relation_parameters |
Definition at line 35 of file oink_verifier.hpp.
std::shared_ptr<Transcript> bb::OinkVerifier< Flavor >::transcript |
Definition at line 31 of file oink_verifier.hpp.
std::shared_ptr<DeciderVK> bb::OinkVerifier< Flavor >::verification_key |
Definition at line 32 of file oink_verifier.hpp.
WitnessCommitments bb::OinkVerifier< Flavor >::witness_comms |
Definition at line 36 of file oink_verifier.hpp.