Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::TranslatorVerifier Class Reference

#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< VerificationKeykey = std::make_shared<VerificationKey>()
 
std::shared_ptr< Transcripttranscript
 
RelationParameters< FFrelation_parameters
 
std::array< Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRESop_queue_commitments
 

Detailed Description

Definition at line 14 of file translator_verifier.hpp.

Member Typedef Documentation

◆ BF

Definition at line 18 of file translator_verifier.hpp.

◆ Commitment

◆ FF

Definition at line 17 of file translator_verifier.hpp.

◆ Flavor

◆ ProvingKey

◆ Transcript

◆ TranslationEvaluations

◆ VerificationKey

◆ VerifierCommitmentKey

Constructor & Destructor Documentation

◆ TranslatorVerifier() [1/3]

bb::TranslatorVerifier::TranslatorVerifier ( const std::shared_ptr< Transcript > &  transcript)

Definition at line 14 of file translator_verifier.cpp.

◆ TranslatorVerifier() [2/3]

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.

◆ TranslatorVerifier() [3/3]

bb::TranslatorVerifier::TranslatorVerifier ( const std::shared_ptr< ProvingKey > &  proving_key,
const std::shared_ptr< Transcript > &  transcript 
)

Member Function Documentation

◆ put_translation_data_in_relation_parameters()

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.

◆ verify_consistency_with_final_merge()

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.

◆ verify_proof()

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.

◆ verify_translation()

bool bb::TranslatorVerifier::verify_translation ( const TranslationEvaluations translation_evaluations,
const BF translation_masking_term_eval 
)

Definition at line 161 of file translator_verifier.cpp.

Member Data Documentation

◆ batching_challenge_v

BF bb::TranslatorVerifier::batching_challenge_v = 0

Definition at line 27 of file translator_verifier.hpp.

◆ evaluation_input_x

BF bb::TranslatorVerifier::evaluation_input_x = 0

Definition at line 26 of file translator_verifier.hpp.

◆ key

std::shared_ptr<VerificationKey> bb::TranslatorVerifier::key = std::make_shared<VerificationKey>()

Definition at line 30 of file translator_verifier.hpp.

◆ op_queue_commitments

std::array<Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRES> bb::TranslatorVerifier::op_queue_commitments

Definition at line 33 of file translator_verifier.hpp.

◆ relation_parameters

RelationParameters<FF> bb::TranslatorVerifier::relation_parameters

Definition at line 32 of file translator_verifier.hpp.

◆ transcript

std::shared_ptr<Transcript> bb::TranslatorVerifier::transcript

Definition at line 31 of file translator_verifier.hpp.


The documentation for this class was generated from the following files: