Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
hypernova_decider_prover.cpp
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
8
9namespace bb {
11{
12 vinfo("HypernovaFoldingDecider: prove PCS...");
13
14 size_t actual_size = accumulator.non_shifted_polynomial.virtual_size();
15
16 // Open the commitments with Shplemini
17 PolynomialBatcher polynomial_batcher(actual_size);
18 polynomial_batcher.set_unshifted(RefVector(accumulator.non_shifted_polynomial));
19 polynomial_batcher.set_to_be_shifted_by_one(RefVector(accumulator.shifted_polynomial));
20
21 OpeningClaim prover_opening_claim;
22 prover_opening_claim =
23 ShpleminiProver::prove(actual_size, polynomial_batcher, accumulator.challenge, ck, transcript);
24
25 vinfo("HypernovaFoldingDecider: executed multivariate-to-univariate reduction");
26
27 Flavor::PCS::compute_opening_proof(ck, prover_opening_claim, transcript);
28 vinfo("HypernovaFoldingDecider: computed PCS opening proof");
29
30 return transcript->export_proof();
31};
32} // namespace bb
CommitmentKey object over a pairing group 𝔾₁.
Class responsible for computation of the batched multilinear polynomials required by the Gemini proto...
Definition gemini.hpp:129
void set_to_be_shifted_by_one(RefVector< Polynomial > polynomials)
Definition gemini.hpp:167
void set_unshifted(RefVector< Polynomial > polynomials)
Definition gemini.hpp:166
HonkProof construct_proof(const CommitmentKey &ck, Accumulator &accumulator)
std::shared_ptr< Transcript > transcript
std::size_t virtual_size() const
Polynomial p and an opening pair (r,v) such that p(r) = v.
Definition claim.hpp:34
A template class for a reference vector. Behaves as if std::vector<T&> was possible.
static OpeningClaim prove(const FF circuit_size, PolynomialBatcher &polynomial_batcher, std::span< FF > multilinear_challenge, const CommitmentKey< Curve > &commitment_key, const std::shared_ptr< Transcript > &transcript, const std::array< Polynomial, NUM_SMALL_IPA_EVALUATIONS > &libra_polynomials={}, const std::vector< Polynomial > &sumcheck_round_univariates={}, const std::vector< std::array< FF, 3 > > &sumcheck_round_evaluations={})
Definition shplemini.hpp:35
#define vinfo(...)
Definition log.hpp:79
Entry point for Barretenberg command-line interface.
std::vector< fr > HonkProof
Definition proof.hpp:15
CommitmentKey< Curve > ck