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

#include <translator_prover.hpp>

Public Types

using Flavor = TranslatorFlavor
 
using CircuitBuilder = typename Flavor::CircuitBuilder
 
using FF = typename Flavor::FF
 
using BF = typename Flavor::BF
 
using Commitment = typename Flavor::Commitment
 
using CommitmentKey = typename Flavor::CommitmentKey
 
using ProvingKey = typename Flavor::ProvingKey
 
using Polynomial = typename Flavor::Polynomial
 
using CommitmentLabels = typename Flavor::CommitmentLabels
 
using PCS = typename Flavor::PCS
 
using Transcript = typename Flavor::Transcript
 
using ZKData = ZKSumcheckData< Flavor >
 

Public Member Functions

 TranslatorProver (const std::shared_ptr< TranslatorProvingKey > &key, const std::shared_ptr< Transcript > &transcript)
 
BB_PROFILE void execute_preamble_round ()
 Add circuit size and values used in the relations to the transcript.
 
BB_PROFILE void execute_wire_and_sorted_constraints_commitments_round ()
 Compute commitments to wires and ordered range constraints.
 
BB_PROFILE void execute_grand_product_computation_round ()
 Compute permutation product polynomial and commitments.
 
BB_PROFILE void execute_relation_check_rounds ()
 Run Sumcheck resulting in u = (u_1,...,u_d) challenges and all evaluations at u being calculated.
 
BB_PROFILE void execute_pcs_rounds ()
 Produce a univariate opening claim for the sumcheck multivariate evalutions and a batched univariate claim for the transcript polynomials (for the Translator consistency check). Reduce the two opening claims to a single one via Shplonk and produce an opening proof with the univariate PCS of choice (IPA when operating on Grumpkin).
 
void commit_to_witness_polynomial (Polynomial &polynomial, const std::string &label)
 Utility to commit to witness polynomial and send the commitment to verifier.
 
HonkProof export_proof ()
 
HonkProof construct_proof ()
 

Public Attributes

std::shared_ptr< Transcripttranscript
 
bb::RelationParameters< FFrelation_parameters
 
std::shared_ptr< TranslatorProvingKeykey
 
CommitmentLabels commitment_labels
 
ZKData zk_sumcheck_data
 
SumcheckOutput< Flavorsumcheck_output
 

Detailed Description

Definition at line 16 of file translator_prover.hpp.

Member Typedef Documentation

◆ BF

Definition at line 21 of file translator_prover.hpp.

◆ CircuitBuilder

◆ Commitment

Definition at line 22 of file translator_prover.hpp.

◆ CommitmentKey

◆ CommitmentLabels

◆ FF

Definition at line 20 of file translator_prover.hpp.

◆ Flavor

◆ PCS

Definition at line 27 of file translator_prover.hpp.

◆ Polynomial

Definition at line 25 of file translator_prover.hpp.

◆ ProvingKey

Definition at line 24 of file translator_prover.hpp.

◆ Transcript

Definition at line 28 of file translator_prover.hpp.

◆ ZKData

Constructor & Destructor Documentation

◆ TranslatorProver()

bb::TranslatorProver::TranslatorProver ( const std::shared_ptr< TranslatorProvingKey > &  key,
const std::shared_ptr< Transcript > &  transcript 
)
explicit

Definition at line 17 of file translator_prover.cpp.

Member Function Documentation

◆ commit_to_witness_polynomial()

void bb::TranslatorProver::commit_to_witness_polynomial ( Polynomial polynomial,
const std::string &  label 
)

Utility to commit to witness polynomial and send the commitment to verifier.

Parameters
polynomial
label

Definition at line 64 of file translator_prover.cpp.

◆ construct_proof()

HonkProof bb::TranslatorProver::construct_proof ( )

Definition at line 217 of file translator_prover.cpp.

◆ execute_grand_product_computation_round()

void bb::TranslatorProver::execute_grand_product_computation_round ( )

Compute permutation product polynomial and commitments.

Definition at line 94 of file translator_prover.cpp.

◆ execute_pcs_rounds()

void bb::TranslatorProver::execute_pcs_rounds ( )

Produce a univariate opening claim for the sumcheck multivariate evalutions and a batched univariate claim for the transcript polynomials (for the Translator consistency check). Reduce the two opening claims to a single one via Shplonk and produce an opening proof with the univariate PCS of choice (IPA when operating on Grumpkin).

Definition at line 178 of file translator_prover.cpp.

◆ execute_preamble_round()

void bb::TranslatorProver::execute_preamble_round ( )

Add circuit size and values used in the relations to the transcript.

Definition at line 32 of file translator_prover.cpp.

◆ execute_relation_check_rounds()

void bb::TranslatorProver::execute_relation_check_rounds ( )

Run Sumcheck resulting in u = (u_1,...,u_d) challenges and all evaluations at u being calculated.

Definition at line 138 of file translator_prover.cpp.

◆ execute_wire_and_sorted_constraints_commitments_round()

void bb::TranslatorProver::execute_wire_and_sorted_constraints_commitments_round ( )

Compute commitments to wires and ordered range constraints.

Definition at line 73 of file translator_prover.cpp.

◆ export_proof()

HonkProof bb::TranslatorProver::export_proof ( )

Definition at line 212 of file translator_prover.cpp.

Member Data Documentation

◆ commitment_labels

CommitmentLabels bb::TranslatorProver::commitment_labels

Definition at line 49 of file translator_prover.hpp.

◆ key

std::shared_ptr<TranslatorProvingKey> bb::TranslatorProver::key

Definition at line 47 of file translator_prover.hpp.

◆ relation_parameters

bb::RelationParameters<FF> bb::TranslatorProver::relation_parameters

Definition at line 45 of file translator_prover.hpp.

◆ sumcheck_output

SumcheckOutput<Flavor> bb::TranslatorProver::sumcheck_output

Definition at line 53 of file translator_prover.hpp.

◆ transcript

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

Definition at line 43 of file translator_prover.hpp.

◆ zk_sumcheck_data

ZKData bb::TranslatorProver::zk_sumcheck_data

Definition at line 51 of file translator_prover.hpp.


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