Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
oink_verifier.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: Completed, auditors: [Sergei], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6
7#pragma once
8
10
11namespace bb {
12
30template <typename Flavor> class OinkVerifier {
32 using FF = typename Flavor::FF;
35
36 public:
44
45 // emit_alpha: when false, skip drawing the "alpha" challenge at the end of Oink.
46 // Used by BatchedHonkTranslatorVerifier, which draws a single joint alpha ("Sumcheck:alpha")
47 // after both circuits' pre-sumcheck phases instead.
48 void verify(bool emit_alpha = true);
49
50 private:
51 std::shared_ptr<Transcript> transcript;
60};
61} // namespace bb
A container for commitment labels.
typename Curve::ScalarField FF
typename G1::affine_element Commitment
BaseTranscript< Codec, HashFunction > Transcript
Verifier counterpart to OinkProver: receives witness commitments, computes relation parameters,...
OinkVerifier(const std::shared_ptr< Instance > &verifier_instance, const std::shared_ptr< Transcript > &transcript, size_t num_public_inputs)
typename Flavor::Transcript Transcript
void receive_wire_commitments()
Receive wire commitments (w_l, w_r, w_o). For Mega, also receive ECC op wire and DataBus commitments....
Flavor::CommitmentLabels comm_labels
void receive_logderiv_commitments()
Receive beta/gamma challenges and log-derivative inverse commitments (plus databus inverses for Mega)...
typename Flavor::FF FF
void receive_vk_hash_and_public_inputs()
Hash the verification key, assert consistency, and receive public inputs from the transcript.
std::shared_ptr< Transcript > transcript
void receive_lookup_counts_and_w4_commitments()
Get sorted witness-table accumulator and fourth wire commitments.
void complete_grand_product_round()
Compute public_input_delta for the permutation argument and receive z_perm commitment.
void verify(bool emit_alpha=true)
Receive witness commitments, compute relation parameters, and prepare for Sumcheck.
std::shared_ptr< Instance > verifier_instance
typename Flavor::Commitment Commitment
The VerifierInstance encapsulates all the necessary information for a Honk Verifier to verify a proof...
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13