Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
eccvm_recursive_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
11
12namespace bb {
15 using FF = Flavor::FF;
16 using BF = Flavor::BF;
30
31 public:
43
45 const std::shared_ptr<NativeVerificationKey>& native_verifier_key,
46 const std::shared_ptr<Transcript>& transcript);
47
48 [[nodiscard("IPA claim should be accumulated")]] IpaClaimAndProof verify_proof(const ECCVMProof& proof);
49 [[nodiscard("IPA claim should be accumulated")]] IpaClaimAndProof verify_proof(const StdlibProof& proof);
50 void compute_translation_opening_claims(const std::vector<Commitment>& translation_commitments);
51
52 std::shared_ptr<VerificationKey> key;
54
56 std::shared_ptr<Transcript> transcript;
58
59 // Final ShplonkVerifier consumes an array consisting of Translation Opening Claims and a
60 // `multivariate_to_univariate_opening_claim`
64
65 // Translation evaluation and batching challenges. They are propagated to the TranslatorVerifier
68};
69} // 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 verification key is responsible for storing the commitments to the precomputed (non-witnessk) pol...
static constexpr size_t NUM_TRANSLATION_OPENING_CLAIMS
The verification key is responsible for storing the commitments to the precomputed (non-witness) poly...
stdlib::grumpkin< CircuitBuilder > Curve
ECCVMFlavor::CommitmentLabels CommitmentLabels
ECCVMFlavor::VerifierCommitments_< Commitment, VerificationKey > VerifierCommitments
bb::VerifierCommitmentKey< Curve > VerifierCommitmentKey
NativeFlavor::VerificationKey NativeVerificationKey
static constexpr size_t NUM_OPENING_CLAIMS
std::array< OpeningClaim< Curve >, NUM_OPENING_CLAIMS > opening_claims
IpaClaimAndProof verify_proof(const ECCVMProof &proof)
Creates a circuit that executes the ECCVM verifier algorithm up to IPA verification.
std::shared_ptr< VerificationKey > key
TranslationEvaluations_< FF > translation_evaluations
void compute_translation_opening_claims(const std::vector< Commitment > &translation_commitments)
To link the ECCVM Transcript wires op, Px, Py, z1, and z2 to the accumulator computed by the translat...
std::pair< OpeningClaim< Curve >, StdlibIpaProof > IpaClaimAndProof
std::shared_ptr< Transcript > transcript
IPA (inner product argument) commitment scheme class.
Definition ipa.hpp:95
A simple wrapper around a vector of stdlib field elements representing a proof.
Definition proof.hpp:19
cycle_group represents a group Element of the proving system's embedded curve i.e....
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
StdlibProof(Builder &builder, const ECCVMProof &eccvm_proof)
Stores the evaluations of op, Px, Py, z1, and z2 computed by the ECCVM Prover. These evaluations are ...
Curve grumpkin in circuit setting.
Definition grumpkin.hpp:21