Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
translator_prover.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: Planned, auditors: [], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6
7#pragma once
14
15namespace bb {
16// The prover always runs sumcheck with the short-monomial flavor (faster sumcheck); it produces a proof and VK
17// identical to the legacy TranslatorFlavor, which the native and recursive verifiers consume.
19 public:
22 using FF = typename Flavor::FF;
23 using BF = typename Flavor::BF;
29 using PCS = typename Flavor::PCS;
32
34 const std::shared_ptr<Transcript>& transcript);
35
42 const std::string& label,
43 bool has_duplicates_hint = false);
46
47 // Extract the accumulated result from the circuit
49
50 std::shared_ptr<Transcript> transcript;
51
53
55
57
59
61};
62
63} // namespace bb
A container for commitment labels.
The proving key is responsible for storing the polynomials used by the prover.
BaseTranscript< Codec, HashFunction > Transcript
TranslatorCircuitBuilder CircuitBuilder
Curve::AffineElement Commitment
bb::CommitmentKey< Curve > CommitmentKey
bb::Polynomial< FF > Polynomial
CommitmentLabels commitment_labels
typename Flavor::CommitmentKey CommitmentKey
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_preamble_round()
Add circuit size and values used in the relations to the transcript.
uint256_t get_accumulated_result() const
Extract the accumulated result from the circuit.
typename Flavor::ProvingKey ProvingKey
typename Flavor::CircuitBuilder CircuitBuilder
BB_PROFILE void execute_grand_product_computation_round()
Compute permutation product polynomial and commitments.
std::shared_ptr< TranslatorProvingKey > key
bb::RelationParameters< FF > relation_parameters
std::shared_ptr< Transcript > transcript
typename Flavor::Transcript Transcript
BB_PROFILE void execute_wire_and_sorted_constraints_commitments_round()
Compute commitments to wires and ordered range constraints.
typename Flavor::BF BF
typename Flavor::PCS PCS
SumcheckOutput< Flavor > sumcheck_output
typename Flavor::Commitment Commitment
typename Flavor::Polynomial Polynomial
BB_PROFILE void execute_pcs_rounds()
Produce a univariate opening claim for the sumcheck multivariate evalutions and a batched univariate ...
void commit_to_witness_polynomial(Polynomial &polynomial, const std::string &label, bool has_duplicates_hint=false)
Utility to commit to witness polynomial and send the commitment to verifier.
typename Flavor::FF FF
typename Flavor::CommitmentLabels CommitmentLabels
#define BB_PROFILE
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
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.
Contains the evaluations of multilinear polynomials at the challenge point . These are computed by S...
This structure is created to contain various polynomials and constants required by ZK Sumcheck.