|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <hypernova_prover.hpp>
Public Types | |
| using | Flavor = MegaFlavor |
| using | FF = Flavor::FF |
| using | Polynomial = bb::Polynomial< FF > |
| using | Commitment = Flavor::Commitment |
| using | ProverInstance = ProverInstance_< Flavor > |
| using | Accumulator = MultilinearBatchingProverClaim |
| using | VerificationKey = Flavor::VerificationKey |
| using | VerifierCommitments = Flavor::VerifierCommitments |
| using | MegaOinkProver = OinkProver< Flavor > |
| using | MegaSumcheckProver = SumcheckProver< Flavor > |
| using | MegaSumcheckOutput = SumcheckOutput< Flavor > |
| using | Transcript = Flavor::Transcript |
Public Member Functions | |
| HypernovaFoldingProver (std::shared_ptr< Transcript > &transcript) | |
| Accumulator | instance_to_accumulator (const std::shared_ptr< ProverInstance > &instance) |
| Turn an instance into an accumulator by running Sumcheck. | |
| std::pair< HonkProof, Accumulator > | fold (const Accumulator &accumulator, const std::shared_ptr< ProverInstance > &instance) |
| Fold an instance into an accumulator. Folding happens in place. | |
| HonkProof | export_proof () |
| Export the proof contained in the transcript. | |
Public Attributes | |
| std::shared_ptr< Transcript > | transcript |
Private Member Functions | |
| Accumulator | sumcheck_output_to_accumulator (MegaSumcheckOutput &sumcheck_output, const std::shared_ptr< ProverInstance > &instance, const std::shared_ptr< VerificationKey > &honk_vk) |
Static Private Member Functions | |
| template<size_t N> | |
| static Polynomial | batch_polynomials (RefArray< Polynomial, N > polynomials_to_batch, const size_t &full_batched_size, const std::array< FF, N > &challenges) |
| Batch prover polynomials. Batching happens in place into the first polynomial in the RefArray supplied. | |
Definition at line 15 of file hypernova_prover.hpp.
Definition at line 22 of file hypernova_prover.hpp.
Definition at line 20 of file hypernova_prover.hpp.
Definition at line 18 of file hypernova_prover.hpp.
Definition at line 17 of file hypernova_prover.hpp.
Definition at line 25 of file hypernova_prover.hpp.
Definition at line 27 of file hypernova_prover.hpp.
Definition at line 26 of file hypernova_prover.hpp.
Definition at line 19 of file hypernova_prover.hpp.
Definition at line 21 of file hypernova_prover.hpp.
Definition at line 28 of file hypernova_prover.hpp.
Definition at line 23 of file hypernova_prover.hpp.
Definition at line 24 of file hypernova_prover.hpp.
|
inline |
Definition at line 32 of file hypernova_prover.hpp.
|
staticprivate |
Batch prover polynomials. Batching happens in place into the first polynomial in the RefArray supplied.
| N |
| shiftable | If it is set to true, then the polynomials are aggregated as shiftable polynomials |
Definition at line 85 of file hypernova_prover.cpp.
|
inline |
Export the proof contained in the transcript.
Definition at line 58 of file hypernova_prover.hpp.
| std::pair< HonkProof, HypernovaFoldingProver::Accumulator > bb::HypernovaFoldingProver::fold | ( | const Accumulator & | accumulator, |
| const std::shared_ptr< ProverInstance > & | instance | ||
| ) |
Fold an instance into an accumulator. Folding happens in place.
| accumulator | |
| instance |
Definition at line 139 of file hypernova_prover.cpp.
| HypernovaFoldingProver::Accumulator bb::HypernovaFoldingProver::instance_to_accumulator | ( | const std::shared_ptr< ProverInstance > & | instance | ) |
Turn an instance into an accumulator by running Sumcheck.
| instance |
Definition at line 107 of file hypernova_prover.cpp.
|
private |
Definition at line 12 of file hypernova_prover.cpp.
| std::shared_ptr<Transcript> bb::HypernovaFoldingProver::transcript |
Definition at line 30 of file hypernova_prover.hpp.