Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <decider_prover.hpp>
Public Member Functions | |
DeciderProver_ (const std::shared_ptr< DeciderPK > &, const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >()) | |
BB_PROFILE void | execute_relation_check_rounds () |
Run Sumcheck to establish that ∑_i pow(\vec{β*})f_i(ω) = e*. This results in u = (u_1,...,u_d) sumcheck round 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). | |
Proof | export_proof () |
void | construct_proof () |
Public Attributes | |
std::shared_ptr< DeciderPK > | proving_key |
std::shared_ptr< Transcript > | transcript |
bb::RelationParameters< FF > | relation_parameters |
CommitmentLabels | commitment_labels |
Polynomial | quotient_W |
ZKData | zk_sumcheck_data |
SumcheckOutput< Flavor > | sumcheck_output |
Private Types | |
using | FF = typename Flavor::FF |
using | Curve = typename Flavor::Curve |
using | Commitment = typename Flavor::Commitment |
using | CommitmentKey = typename Flavor::CommitmentKey |
using | Polynomial = typename Flavor::Polynomial |
using | ProverPolynomials = typename Flavor::ProverPolynomials |
using | CommitmentLabels = typename Flavor::CommitmentLabels |
using | PCS = typename Flavor::PCS |
using | DeciderPK = DeciderProvingKey_< Flavor > |
using | Transcript = typename Flavor::Transcript |
using | ZKData = ZKSumcheckData< Flavor > |
using | SmallSubgroupIPA = SmallSubgroupIPAProver< Flavor > |
using | Proof = typename Flavor::Transcript::Proof |
Definition at line 22 of file decider_prover.hpp.
|
private |
Definition at line 25 of file decider_prover.hpp.
|
private |
Definition at line 26 of file decider_prover.hpp.
|
private |
Definition at line 29 of file decider_prover.hpp.
|
private |
Definition at line 24 of file decider_prover.hpp.
|
private |
Definition at line 31 of file decider_prover.hpp.
|
private |
Definition at line 23 of file decider_prover.hpp.
|
private |
Definition at line 30 of file decider_prover.hpp.
|
private |
Definition at line 27 of file decider_prover.hpp.
|
private |
Definition at line 35 of file decider_prover.hpp.
|
private |
Definition at line 28 of file decider_prover.hpp.
|
private |
Definition at line 34 of file decider_prover.hpp.
|
private |
Definition at line 32 of file decider_prover.hpp.
|
private |
Definition at line 33 of file decider_prover.hpp.
|
explicit |
Create DeciderProver_ from an accumulator.
accumulator | Relaxed instance (ϕ, ω, \vec{β}, e) whose proof we want to generate, produced by Protogalaxy folding prover |
a | type of UltraFlavor |
Definition at line 23 of file decider_prover.cpp.
void bb::DeciderProver_< Flavor >::construct_proof | ( | ) |
Definition at line 109 of file decider_prover.cpp.
void bb::DeciderProver_< Flavor >::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 68 of file decider_prover.cpp.
void bb::DeciderProver_< Flavor >::execute_relation_check_rounds | ( | ) |
Run Sumcheck to establish that ∑_i pow(\vec{β*})f_i(ω) = e*. This results in u = (u_1,...,u_d) sumcheck round challenges and all evaluations at u being calculated.
Definition at line 34 of file decider_prover.cpp.
DeciderProver_< Flavor >::Proof bb::DeciderProver_< Flavor >::export_proof | ( | ) |
Definition at line 104 of file decider_prover.cpp.
CommitmentLabels bb::DeciderProver_< Flavor >::commitment_labels |
Definition at line 53 of file decider_prover.hpp.
std::shared_ptr<DeciderPK> bb::DeciderProver_< Flavor >::proving_key |
Definition at line 47 of file decider_prover.hpp.
Polynomial bb::DeciderProver_< Flavor >::quotient_W |
Definition at line 55 of file decider_prover.hpp.
bb::RelationParameters<FF> bb::DeciderProver_< Flavor >::relation_parameters |
Definition at line 51 of file decider_prover.hpp.
SumcheckOutput<Flavor> bb::DeciderProver_< Flavor >::sumcheck_output |
Definition at line 59 of file decider_prover.hpp.
std::shared_ptr<Transcript> bb::DeciderProver_< Flavor >::transcript |
Definition at line 49 of file decider_prover.hpp.
ZKData bb::DeciderProver_< Flavor >::zk_sumcheck_data |
Definition at line 57 of file decider_prover.hpp.