Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
protogalaxy_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
13
14namespace bb {
15template <class DeciderVerificationKeys> class ProtogalaxyVerifier_ {
16 public:
17 using Flavor = typename DeciderVerificationKeys::Flavor;
19 using FF = typename Flavor::FF;
21 using DeciderVK = typename DeciderVerificationKeys::DeciderVK;
26
27 static constexpr size_t NUM_SUBRELATIONS = Flavor::NUM_SUBRELATIONS;
28
29 DeciderVerificationKeys keys_to_fold;
30
31 std::shared_ptr<Transcript> transcript = std::make_shared<Transcript>();
32
33 ProtogalaxyVerifier_(const std::vector<std::shared_ptr<DeciderVK>>& keys,
34 const std::shared_ptr<Transcript>& transcript)
35 : keys_to_fold(DeciderVerificationKeys(keys))
38
44 void run_oink_verifier_on_each_incomplete_key(const std::vector<FF>&);
45
50 std::shared_ptr<DeciderVK> verify_folding_proof(const std::vector<FF>&);
51};
52
53} // namespace bb
A container for commitment labels.
The verification key is responsible for storing the commitments to the precomputed (non-witness) poly...
WitnessEntities< Commitment > WitnessCommitments
A container for the witness commitments.
Curve::ScalarField FF
std::array< FF, NUM_SUBRELATIONS - 1 > SubrelationSeparators
static constexpr size_t NUM_SUBRELATIONS
NativeTranscript Transcript
Curve::AffineElement Commitment
ProtogalaxyVerifier_(const std::vector< std::shared_ptr< DeciderVK > > &keys, const std::shared_ptr< Transcript > &transcript)
typename Flavor::VerificationKey VerificationKey
DeciderVerificationKeys keys_to_fold
typename Flavor::SubrelationSeparators SubrelationSeparators
typename Flavor::CommitmentLabels CommitmentLabels
typename DeciderVerificationKeys::Flavor Flavor
std::shared_ptr< Transcript > transcript
typename Flavor::Commitment Commitment
typename Flavor::WitnessCommitments WitnessCommitments
typename Flavor::Transcript Transcript
typename DeciderVerificationKeys::DeciderVK DeciderVK
static constexpr size_t NUM_SUBRELATIONS
std::shared_ptr< DeciderVK > verify_folding_proof(const std::vector< FF > &)
Run the folding protocol on the verifier side to establish whether the public data ϕ of the new accum...
void run_oink_verifier_on_each_incomplete_key(const std::vector< FF > &)
Instatiate the vks and the transcript.
Base class templates for structures that contain data parameterized by the fundamental polynomials of...
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13