barretenberg
Loading...
Searching...
No Matches
AvmMini_prover.hpp
1
2
3#pragma once
4#include "barretenberg/commitment_schemes/zeromorph/zeromorph.hpp"
5#include "barretenberg/flavor/generated/AvmMini_flavor.hpp"
6#include "barretenberg/plonk/proof_system/types/proof.hpp"
7#include "barretenberg/relations/relation_parameters.hpp"
8#include "barretenberg/sumcheck/sumcheck_output.hpp"
9#include "barretenberg/transcript/transcript.hpp"
10
11namespace proof_system::honk {
12
14
16 using FF = Flavor::FF;
17 using PCS = Flavor::PCS;
23 using Curve = Flavor::Curve;
25
26 public:
27 explicit AvmMiniProver(std::shared_ptr<ProvingKey> input_key, std::shared_ptr<PCSCommitmentKey> commitment_key);
28
33
34 plonk::proof& export_proof();
35 plonk::proof& construct_proof();
36
37 std::shared_ptr<Transcript> transcript = std::make_shared<Transcript>();
38
39 std::vector<FF> public_inputs;
40
41 proof_system::RelationParameters<FF> relation_parameters;
42
43 std::shared_ptr<ProvingKey> key;
44
45 // Container for spans of all polynomials required by the prover (i.e. all multivariates evaluated by Sumcheck).
46 ProverPolynomials prover_polynomials;
47
48 CommitmentLabels commitment_labels;
49
50 Polynomial quotient_W;
51
53
54 std::shared_ptr<PCSCommitmentKey> commitment_key;
55
57
58 private:
59 plonk::proof proof;
60};
61
62} // namespace proof_system::honk
Definition: polynomial.hpp:12
Definition: bn254.hpp:10
Definition: AvmMini_prover.hpp:13
void execute_zeromorph_rounds()
Execute the ZeroMorph protocol to prove the multilinear evaluations produced by Sumcheck.
Definition: AvmMini_prover.cpp:87
void execute_relation_check_rounds()
Run Sumcheck resulting in u = (u_1,...,u_d) challenges and all evaluations at u being calculated.
Definition: AvmMini_prover.cpp:72
void execute_wire_commitments_round()
Compute commitments to the first three wires.
Definition: AvmMini_prover.cpp:59
void execute_preamble_round()
Add circuit size, public input size, and public inputs to transcript.
Definition: AvmMini_prover.cpp:48
A container for the prover polynomials handles.
Definition: AvmMini_flavor.hpp:263
Definition: AvmMini_flavor.hpp:21
CommitmentKey object over a pairing group 𝔾₁.
Definition: commitment_key.hpp:35
Definition: kzg.hpp:14
Prover for ZeroMorph multilinear PCS.
Definition: zeromorph.hpp:33
Defines particular circuit builder types expected to be used for circuit construction in stdlib and c...
Definition: claim.hpp:6
Container for parameters used by the grand product (permutation, lookup) Honk relations.
Definition: relation_parameters.hpp:12
Contains the multi-linear evaluations of the polynomials at the challenge point 'u'....
Definition: sumcheck_output.hpp:13
Definition: proof.hpp:11