barretenberg
Loading...
Searching...
No Matches
Classes | Public Types | Static Public Attributes | List of all members
proof_system::honk::flavor::GoblinUltra Class Reference

Classes

class  AllEntities
 A base class labelling all entities (for instance, all of the polynomials used by the prover during sumcheck) in this Honk variant along with particular subsets of interest. More...
 
class  AllValues
 A field element for each entity of the flavor. These entities represent the prover polynomials evaluated at one point. More...
 
class  CommitmentLabels
 A container for commitment labels. More...
 
class  FoldingParameters
 
class  PartiallyEvaluatedMultivariates
 A container for storing the partially evaluated multivariates produced by sumcheck. More...
 
class  PrecomputedEntities
 A base class labelling precomputed entities and (ordered) subsets of interest. More...
 
class  ProverPolynomials
 A container for the prover polynomials handles. More...
 
class  ProvingKey
 The proving key is responsible for storing the polynomials used by the prover. More...
 
class  Transcript_
 Derived class that defines proof structure for GoblinUltra proofs, as well as supporting functions. Note: Made generic for use in GoblinUltraRecursive. More...
 
class  VerifierCommitments_
 

Public Types

using CircuitBuilder = GoblinUltraCircuitBuilder
 
using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using GroupElement = Curve::Element
 
using Commitment = Curve::AffineElement
 
using CommitmentHandle = Curve::AffineElement
 
using PCS = pcs::kzg::KZG< Curve >
 
using Polynomial = barretenberg::Polynomial< FF >
 
using PolynomialHandle = std::span< FF >
 
using CommitmentKey = pcs::CommitmentKey< Curve >
 
using VerifierCommitmentKey = pcs::VerifierCommitmentKey< Curve >
 
using GrandProductRelations = std::tuple< proof_system::UltraPermutationRelation< FF >, proof_system::LookupRelation< FF > >
 
template<typename FF >
using Relations_ = std::tuple< proof_system::UltraArithmeticRelation< FF >, proof_system::UltraPermutationRelation< FF >, proof_system::LookupRelation< FF >, proof_system::GenPermSortRelation< FF >, proof_system::EllipticRelation< FF >, proof_system::AuxiliaryRelation< FF >, proof_system::EccOpQueueRelation< FF >, proof_system::DatabusLookupRelation< FF >, proof_system::Poseidon2ExternalRelation< FF >, proof_system::Poseidon2InternalRelation< FF > >
 
using Relations = Relations_< FF >
 
using LogDerivLookupRelation = proof_system::DatabusLookupRelation< FF >
 
template<size_t NUM_INSTANCES>
using ProtogalaxyTupleOfTuplesOfUnivariates = decltype(create_protogalaxy_tuple_of_tuples_of_univariates< Relations, NUM_INSTANCES >())
 
using SumcheckTupleOfTuplesOfUnivariates = decltype(create_sumcheck_tuple_of_tuples_of_univariates< Relations >())
 
using TupleOfArraysOfValues = decltype(create_tuple_of_arrays_of_values< Relations >())
 
using VerificationKey = VerificationKey_< PrecomputedEntities< Commitment > >
 The verification key is responsible for storing the the commitments to the precomputed (non-witnessk) polynomials used by the verifier.
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< barretenberg::Univariate< FF, LENGTH > >
 A container for univariates used during Protogalaxy folding and sumcheck.
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 A container for univariates produced during the hot loop in sumcheck.
 
using WitnessCommitments = WitnessEntities< Commitment >
 A container for the witness commitments.
 
using VerifierCommitments = VerifierCommitments_< Commitment, VerificationKey >
 
using Transcript = Transcript_< Commitment >
 

Static Public Attributes

static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES
 
static constexpr size_t NUM_ALL_ENTITIES = 55
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 30
 
static constexpr size_t NUM_WITNESS_ENTITIES = 14
 
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
 
static constexpr size_t MAX_TOTAL_RELATION_LENGTH = compute_max_total_relation_length<Relations>()
 
static constexpr size_t NUMBER_OF_SUBRELATIONS = compute_number_of_subrelations<Relations>()
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
 
static constexpr size_t BATCHED_RELATION_TOTAL_LENGTH = MAX_TOTAL_RELATION_LENGTH + 1
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
static constexpr bool has_zero_row = true
 

Member Typedef Documentation

◆ ProverUnivariates

A container for univariates used during Protogalaxy folding and sumcheck.

During folding and sumcheck, the prover evaluates the relations on these univariates.

◆ VerificationKey

The verification key is responsible for storing the the commitments to the precomputed (non-witnessk) polynomials used by the verifier.

Note
Note the discrepancy with what sort of data is stored here vs in the proving key. We may want to resolve that, and split out separate PrecomputedPolynomials/Commitments data for clarity but also for portability of our circuits.

The documentation for this class was generated from the following file: