Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
decider_prover.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
19
20namespace bb {
21
22template <IsUltraOrMegaHonk Flavor> class DeciderProver_ {
23 using FF = typename Flavor::FF;
24 using Curve = typename Flavor::Curve;
30 using PCS = typename Flavor::PCS;
35 using Proof = typename Flavor::Transcript::Proof;
36
37 public:
38 explicit DeciderProver_(const std::shared_ptr<DeciderPK>&,
39 const std::shared_ptr<Transcript>& transcript = std::make_shared<Transcript>());
40
43
45 void construct_proof();
46
47 std::shared_ptr<DeciderPK> proving_key;
48
49 std::shared_ptr<Transcript> transcript;
50
52
54
56
58
60};
61
65
66} // namespace bb
typename Flavor::ProverPolynomials ProverPolynomials
typename Flavor::CommitmentLabels CommitmentLabels
typename Flavor::FF FF
std::shared_ptr< Transcript > transcript
typename Flavor::Transcript::Proof Proof
typename Flavor::Curve Curve
CommitmentLabels commitment_labels
typename Flavor::Transcript Transcript
SumcheckOutput< Flavor > sumcheck_output
typename Flavor::CommitmentKey CommitmentKey
BB_PROFILE void execute_pcs_rounds()
Produce a univariate opening claim for the sumcheck multivariate evalutions and a batched univariate ...
BB_PROFILE void execute_relation_check_rounds()
Run Sumcheck to establish that ∑_i pow(\vec{β*})f_i(ω) = e*. This results in u = (u_1,...
std::shared_ptr< DeciderPK > proving_key
bb::RelationParameters< FF > relation_parameters
typename Flavor::Polynomial Polynomial
typename Flavor::PCS PCS
typename Flavor::Commitment Commitment
A DeciderProvingKey is normally constructed from a finalized circuit and it contains all the informat...
A container for commitment labels.
A container for the prover polynomials handles.
Curve::ScalarField FF
bb::CommitmentKey< Curve > CommitmentKey
NativeTranscript Transcript
curve::BN254 Curve
bb::Polynomial< FF > Polynomial
Curve::AffineElement Commitment
KZG< Curve > PCS
A Curve-agnostic ZK protocol to prove inner products of small vectors.
#define BB_PROFILE
Entry point for Barretenberg command-line interface.
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.