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
12
13namespace bb {
16 using FF = Flavor::FF;
17 using BF = Flavor::BF;
31
32 public:
44
46 const std::shared_ptr<NativeVerificationKey>& native_verifier_key,
47 const std::shared_ptr<Transcript>& transcript);
48
49 [[nodiscard("IPA claim should be accumulated")]] IpaClaimAndProof verify_proof(const ECCVMProof& proof);
50 [[nodiscard("IPA claim should be accumulated")]] IpaClaimAndProof verify_proof(const StdlibProof& proof);
51 void compute_translation_opening_claims(const std::vector<Commitment>& translation_commitments);
52
53 std::shared_ptr<VerificationKey> key;
55
57 std::shared_ptr<Transcript> transcript;
59
60 // Final ShplonkVerifier consumes an array consisting of Translation Opening Claims and a
61 // `multivariate_to_univariate_opening_claim`
65
66 // Translation evaluation and batching challenges. They are propagated to the TranslatorVerifier
69};
70} // 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:93
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