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

Classes

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  PartiallyEvaluatedMultivariates
 A container for storing the partially evaluated multivariates produced by sumcheck. 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  VerifierCommitments
 

Public Types

using CircuitBuilder = GoblinTranslatorCircuitBuilder
 
using Curve = curve::BN254
 
using PCS = pcs::kzg::KZG< Curve >
 
using GroupElement = Curve::Element
 
using Commitment = Curve::AffineElement
 
using CommitmentHandle = Curve::AffineElement
 
using CommitmentKey = pcs::CommitmentKey< Curve >
 
using VerifierCommitmentKey = pcs::VerifierCommitmentKey< Curve >
 
using FF = Curve::ScalarField
 
using BF = Curve::BaseField
 
using Polynomial = barretenberg::Polynomial< FF >
 
using PolynomialHandle = std::span< FF >
 
using GrandProductRelations = std::tuple< GoblinTranslatorPermutationRelation< FF > >
 
using Relations = std::tuple< GoblinTranslatorPermutationRelation< FF >, GoblinTranslatorGenPermSortRelation< FF >, GoblinTranslatorOpcodeConstraintRelation< FF >, GoblinTranslatorAccumulatorTransferRelation< FF >, GoblinTranslatorDecompositionRelation< FF >, GoblinTranslatorNonNativeFieldRelation< FF > >
 
using SumcheckTupleOfTuplesOfUnivariates = std::tuple< typename GoblinTranslatorPermutationRelation< FF >::SumcheckTupleOfUnivariatesOverSubrelations, typename GoblinTranslatorGenPermSortRelation< FF >::SumcheckTupleOfUnivariatesOverSubrelations, typename GoblinTranslatorOpcodeConstraintRelation< FF >::SumcheckTupleOfUnivariatesOverSubrelations, typename GoblinTranslatorAccumulatorTransferRelation< FF >::SumcheckTupleOfUnivariatesOverSubrelations, typename GoblinTranslatorDecompositionRelation< FF >::SumcheckTupleOfUnivariatesOverSubrelations, typename GoblinTranslatorNonNativeFieldRelation< FF >::SumcheckTupleOfUnivariatesOverSubrelations >
 
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.
 
using ProverPolynomialIds = AllEntities< size_t >
 A container for easier mapping of polynomials.
 
using RowPolynomials = AllEntities< FF >
 A container for polynomials produced after the first round of sumcheck.
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< barretenberg::Univariate< FF, LENGTH > >
 A container for univariates used during sumcheck.
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 A container for univariates produced during the hot loop in sumcheck.
 
using Transcript = BaseTranscript
 

Static Public Attributes

static constexpr size_t mini_circuit_size = 2048
 
static constexpr size_t MINI_CIRCUIT_SIZE = mini_circuit_size
 
static constexpr size_t CONCATENATION_INDEX = 16
 
static constexpr size_t NUM_CONCATENATED_WIRES = 4
 
static constexpr size_t FULL_CIRCUIT_SIZE = MINI_CIRCUIT_SIZE * CONCATENATION_INDEX
 
static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES
 
static constexpr size_t SORT_STEP = 3
 
static constexpr size_t MICRO_LIMB_BITS = CircuitBuilder::MICRO_LIMB_BITS
 
static constexpr auto NEGATIVE_MODULUS_LIMBS = CircuitBuilder::NEGATIVE_MODULUS_LIMBS
 
static constexpr size_t NUM_LIMB_BITS = CircuitBuilder::NUM_LIMB_BITS
 
static constexpr size_t NUM_ALL_ENTITIES = 184
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 7
 
static constexpr size_t NUM_WITNESS_ENTITIES = 91
 
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 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>
 

Member Typedef Documentation

◆ RowPolynomials

A container for polynomials produced after the first round of sumcheck.

Todo:
TODO(#394) Use polynomial classes for guaranteed memory alignment.

◆ 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: