Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
eccvm_verifier.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
7#pragma once
10
11namespace bb {
14 using FF = Flavor::FF;
24
25 public:
26 explicit ECCVMVerifier(const std::shared_ptr<Transcript>& transcript)
28
29 bool verify_proof(const ECCVMProof& proof);
31 const std::array<Commitment, NUM_TRANSLATION_EVALUATIONS>& translation_commitments);
32
33 uint32_t circuit_size;
34 // Final ShplonkVerifier consumes an array consisting of Translation Opening Claims and a
35 // `multivariate_to_univariate_opening_claim`
38
39 std::shared_ptr<VerificationKey> key = std::make_shared<VerificationKey>();
40 std::map<std::string, Commitment> commitments;
41 std::shared_ptr<Transcript> transcript;
42 std::shared_ptr<Transcript> ipa_transcript = std::make_shared<Transcript>();
43
45
46 // Translation evaluation and batching challenges. They are propagated to the TranslatorVerifier
49 // The value ∑ mᵢ(x) ⋅ vⁱ which needs to be propagated to TranslatorVerifier
51
53};
54} // namespace bb
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
A container for commitment labels.
The proving key is responsible for storing the polynomials used by the prover.
The verification key is responsible for storing the commitments to the precomputed (non-witnessk) pol...
bb::VerifierCommitmentKey< Curve > VerifierCommitmentKey
typename Curve::ScalarField FF
VerifierCommitments_< Commitment, VerificationKey > VerifierCommitments
typename G1::affine_element Commitment
curve::Grumpkin Curve
static constexpr size_t NUM_TRANSLATION_OPENING_CLAIMS
NativeTranscript Transcript
IPA< Curve > PCS
bool verify_proof(const ECCVMProof &proof)
This function verifies an ECCVM Honk proof for given program settings.
std::map< std::string, Commitment > commitments
std::array< OpeningClaim< Curve >, NUM_OPENING_CLAIMS > opening_claims
static constexpr size_t NUM_OPENING_CLAIMS
ECCVMVerifier(const std::shared_ptr< Transcript > &transcript)
std::shared_ptr< Transcript > ipa_transcript
TranslationEvaluations_< FF > translation_evaluations
std::shared_ptr< VerificationKey > key
std::shared_ptr< Transcript > transcript
Flavor::Commitment Commitment
bool translation_masking_consistency_checked
void compute_translation_opening_claims(const std::array< Commitment, NUM_TRANSLATION_EVALUATIONS > &translation_commitments)
To link the ECCVM Transcript wires op, Px, Py, z1, and z2 to the accumulator computed by the translat...
IPA (inner product argument) commitment scheme class.
Definition ipa.hpp:95
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
Stores the evaluations of op, Px, Py, z1, and z2 computed by the ECCVM Prover. These evaluations are ...