Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <translator_verifier.hpp>
Public Types | |
using | Flavor = TranslatorFlavor |
using | FF = Flavor::FF |
using | BF = Flavor::BF |
using | Commitment = Flavor::Commitment |
using | ProvingKey = Flavor::ProvingKey |
using | VerificationKey = Flavor::VerificationKey |
using | VerifierCommitmentKey = Flavor::VerifierCommitmentKey |
using | TranslationEvaluations = bb::TranslationEvaluations_< BF > |
using | Transcript = Flavor::Transcript |
Public Member Functions | |
TranslatorVerifier (const std::shared_ptr< Transcript > &transcript) | |
TranslatorVerifier (const std::shared_ptr< VerificationKey > &verifier_key, const std::shared_ptr< Transcript > &transcript) | |
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) |
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. | |
bool | verify_translation (const TranslationEvaluations &translation_evaluations, const BF &translation_masking_term_eval) |
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. | |
Public Attributes | |
BF | evaluation_input_x = 0 |
BF | batching_challenge_v = 0 |
std::shared_ptr< VerificationKey > | key = std::make_shared<VerificationKey>() |
std::shared_ptr< Transcript > | transcript |
RelationParameters< FF > | relation_parameters |
std::array< Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRES > | op_queue_commitments |
Definition at line 14 of file translator_verifier.hpp.
using bb::TranslatorVerifier::BF = Flavor::BF |
Definition at line 18 of file translator_verifier.hpp.
Definition at line 19 of file translator_verifier.hpp.
using bb::TranslatorVerifier::FF = Flavor::FF |
Definition at line 17 of file translator_verifier.hpp.
Definition at line 16 of file translator_verifier.hpp.
Definition at line 20 of file translator_verifier.hpp.
Definition at line 24 of file translator_verifier.hpp.
Definition at line 23 of file translator_verifier.hpp.
Definition at line 21 of file translator_verifier.hpp.
Definition at line 22 of file translator_verifier.hpp.
bb::TranslatorVerifier::TranslatorVerifier | ( | const std::shared_ptr< Transcript > & | transcript | ) |
Definition at line 14 of file translator_verifier.cpp.
bb::TranslatorVerifier::TranslatorVerifier | ( | const std::shared_ptr< VerificationKey > & | verifier_key, |
const std::shared_ptr< Transcript > & | transcript | ||
) |
Definition at line 18 of file translator_verifier.cpp.
bb::TranslatorVerifier::TranslatorVerifier | ( | const std::shared_ptr< ProvingKey > & | proving_key, |
const std::shared_ptr< Transcript > & | transcript | ||
) |
void bb::TranslatorVerifier::put_translation_data_in_relation_parameters | ( | const uint256_t & | evaluation_input_x, |
const BF & | batching_challenge_v, | ||
const uint256_t & | accumulated_result | ||
) |
Definition at line 24 of file translator_verifier.cpp.
bool bb::TranslatorVerifier::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.
The final merge verifier receives commitments to 4 polynomials whose coefficients are the values of the full op queue (referred to as the ultra ops table in the merge protocol). These have to match the EccOpQueue commitments received by the translator verifier, representing 4 wires in its circuit, to ensure the two Goblin components, both operating on the UltraOp version of the op queue, actually use the same data.
Definition at line 205 of file translator_verifier.cpp.
bool bb::TranslatorVerifier::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.
Definition at line 60 of file translator_verifier.cpp.
bool bb::TranslatorVerifier::verify_translation | ( | const TranslationEvaluations & | translation_evaluations, |
const BF & | translation_masking_term_eval | ||
) |
Definition at line 161 of file translator_verifier.cpp.
BF bb::TranslatorVerifier::batching_challenge_v = 0 |
Definition at line 27 of file translator_verifier.hpp.
BF bb::TranslatorVerifier::evaluation_input_x = 0 |
Definition at line 26 of file translator_verifier.hpp.
std::shared_ptr<VerificationKey> bb::TranslatorVerifier::key = std::make_shared<VerificationKey>() |
Definition at line 30 of file translator_verifier.hpp.
std::array<Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRES> bb::TranslatorVerifier::op_queue_commitments |
Definition at line 33 of file translator_verifier.hpp.
RelationParameters<FF> bb::TranslatorVerifier::relation_parameters |
Definition at line 32 of file translator_verifier.hpp.
std::shared_ptr<Transcript> bb::TranslatorVerifier::transcript |
Definition at line 31 of file translator_verifier.hpp.