Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
translator_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 {
15 public:
17 using FF = Flavor::FF;
18 using BF = Flavor::BF;
25
28
29 // Default construct fixed VK
30 std::shared_ptr<VerificationKey> key = std::make_shared<VerificationKey>();
31 std::shared_ptr<Transcript> transcript;
33 std::array<Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRES> op_queue_commitments;
34
35 TranslatorVerifier(const std::shared_ptr<Transcript>& transcript);
36
37 TranslatorVerifier(const std::shared_ptr<VerificationKey>& verifier_key,
38 const std::shared_ptr<Transcript>& transcript);
39
40 TranslatorVerifier(const std::shared_ptr<ProvingKey>& proving_key, const std::shared_ptr<Transcript>& transcript);
41
44 const uint256_t& accumulated_result);
46 bool verify_translation(const TranslationEvaluations& translation_evaluations,
47 const BF& translation_masking_term_eval);
49 const std::array<Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRES>& merge_commitments);
50};
51} // namespace bb
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
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...
Curve::ScalarField FF
Curve::AffineElement Commitment
bb::VerifierCommitmentKey< Curve > VerifierCommitmentKey
NativeTranscript Transcript
bool verify_proof(const HonkProof &proof, const uint256_t &evaluation_input_x, const BF &batching_challenge_v)
This function verifies a TranslatorFlavor Honk proof for given program settings.
TranslatorVerifier(const std::shared_ptr< ProvingKey > &proving_key, const std::shared_ptr< Transcript > &transcript)
void put_translation_data_in_relation_parameters(const uint256_t &evaluation_input_x, const BF &batching_challenge_v, const uint256_t &accumulated_result)
Flavor::Commitment Commitment
std::array< Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRES > op_queue_commitments
bool verify_translation(const TranslationEvaluations &translation_evaluations, const BF &translation_masking_term_eval)
std::shared_ptr< VerificationKey > key
RelationParameters< FF > relation_parameters
bool verify_consistency_with_final_merge(const std::array< Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRES > &merge_commitments)
Checks that translator and merge protocol operate on the same EccOpQueue data.
std::shared_ptr< Transcript > transcript
Entry point for Barretenberg command-line interface.
std::vector< fr > HonkProof
Definition proof.hpp:15
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
Container for parameters used by the grand product (permutation, lookup) Honk relations.
Stores the evaluations of op, Px, Py, z1, and z2 computed by the ECCVM Prover. These evaluations are ...