Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::MegaZKFlavor Class Reference

Child class of MegaFlavor that runs with ZK Sumcheck. See more in Sumcheck Outline. More...

#include <mega_zk_flavor.hpp>

Inheritance diagram for bb::MegaZKFlavor:
bb::MegaFlavor

Public Types

template<typename DataType >
using AllEntities = MegaFlavor::AllEntities_< DataType, HasZK >
 
using AllValues = MegaFlavor::AllValues_< HasZK >
 
using ProverPolynomials = MegaFlavor::ProverPolynomials_< HasZK >
 
using PartiallyEvaluatedMultivariates = MegaFlavor::PartiallyEvaluatedMultivariates_< HasZK >
 
using VerifierCommitments = MegaFlavor::VerifierCommitments_< Commitment, VerificationKey, HasZK >
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< bb::Univariate< FF, LENGTH > >
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 
using Transcript = NativeTranscript
 
- Public Types inherited from bb::MegaFlavor
using CircuitBuilder = MegaCircuitBuilder
 
using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using GroupElement = Curve::Element
 
using Commitment = Curve::AffineElement
 
using PCS = KZG< Curve >
 
using Polynomial = bb::Polynomial< FF >
 
using CommitmentKey = bb::CommitmentKey< Curve >
 
using VerifierCommitmentKey = bb::VerifierCommitmentKey< Curve >
 
using TraceBlocks = MegaExecutionTraceBlocks
 
using Transcript = NativeTranscript
 
template<typename FF >
using Relations_ = std::tuple< bb::ArithmeticRelation< FF >, bb::UltraPermutationRelation< FF >, bb::LogDerivLookupRelation< FF >, bb::DeltaRangeConstraintRelation< FF >, bb::EllipticRelation< FF >, bb::MemoryRelation< FF >, bb::NonNativeFieldRelation< FF >, bb::EccOpQueueRelation< FF >, bb::DatabusLookupRelation< FF >, bb::Poseidon2ExternalRelation< FF >, bb::Poseidon2InternalRelation< FF > >
 
using Relations = Relations_< FF >
 
using SubrelationSeparator = FF
 
template<typename DataType >
using WitnessEntities = WitnessEntities_< DataType >
 
template<typename DataType >
using AllEntities = AllEntities_< DataType, HasZK >
 
using AllValues = AllValues_< HasZK >
 
using ProverPolynomials = ProverPolynomials_< HasZK >
 
using PrecomputedData = PrecomputedData_< Polynomial, NUM_PRECOMPUTED_ENTITIES >
 
using PartiallyEvaluatedMultivariates = PartiallyEvaluatedMultivariates_< HasZK >
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< bb::Univariate< FF, LENGTH > >
 A container for univariates used in 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, HasZK >
 

Static Public Member Functions

static constexpr size_t FINAL_PCS_MSM_SIZE (size_t log_n=MegaFlavor::VIRTUAL_LOG_N)
 
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS (size_t virtual_log_n=VIRTUAL_LOG_N)
 
- Static Public Member Functions inherited from bb::MegaFlavor
static constexpr size_t FINAL_PCS_MSM_SIZE (size_t log_n=VIRTUAL_LOG_N)
 
static constexpr size_t DECIDER_PROOF_LENGTH (size_t virtual_log_n=VIRTUAL_LOG_N)
 
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS (size_t virtual_log_n=VIRTUAL_LOG_N)
 

Static Public Attributes

static constexpr size_t VIRTUAL_LOG_N = HIDING_KERNEL_LOG_N
 
static constexpr bool HasZK = true
 
static constexpr size_t NUM_MASKING_POLYNOMIALS = 1
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = MegaFlavor::BATCHED_RELATION_PARTIAL_LENGTH + 1
 
static constexpr size_t NUM_WITNESS_ENTITIES = MegaFlavor::NUM_WITNESS_ENTITIES + NUM_MASKING_POLYNOMIALS
 
static constexpr size_t NUM_ALL_ENTITIES = MegaFlavor::NUM_ALL_ENTITIES + NUM_MASKING_POLYNOMIALS
 
static constexpr size_t NUM_UNSHIFTED_ENTITIES = MegaFlavor::NUM_UNSHIFTED_ENTITIES + NUM_MASKING_POLYNOMIALS
 
static constexpr size_t OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
 
- Static Public Attributes inherited from bb::MegaFlavor
static constexpr size_t VIRTUAL_LOG_N = std::max(CONST_FOLDING_LOG_N, MEGA_AVM_LOG_N)
 
static constexpr bool USE_SHORT_MONOMIALS = true
 
static constexpr bool HasZK = false
 
static constexpr bool USE_PADDING = true
 
static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES
 
static constexpr size_t NUM_ALL_ENTITIES = 60
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 31
 
static constexpr size_t NUM_WITNESS_ENTITIES = 24
 
static constexpr size_t NUM_SHIFTED_ENTITIES = 5
 
static constexpr size_t NUM_UNSHIFTED_ENTITIES = NUM_PRECOMPUTED_ENTITIES + NUM_WITNESS_ENTITIES
 
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS
 
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
static constexpr size_t num_frs_comm = FrCodec::calc_num_fields<Commitment>()
 
static constexpr size_t num_frs_fr = FrCodec::calc_num_fields<FF>()
 
static constexpr size_t OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
 
static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
 
static constexpr bool has_zero_row = true
 

Detailed Description

Child class of MegaFlavor that runs with ZK Sumcheck. See more in Sumcheck Outline.

Definition at line 18 of file mega_zk_flavor.hpp.

Member Typedef Documentation

◆ AllEntities

template<typename DataType >
using bb::MegaZKFlavor::AllEntities = MegaFlavor::AllEntities_<DataType, HasZK>

Definition at line 35 of file mega_zk_flavor.hpp.

◆ AllValues

◆ ExtendedEdges

◆ PartiallyEvaluatedMultivariates

◆ ProverPolynomials

◆ ProverUnivariates

template<size_t LENGTH>
using bb::MegaZKFlavor::ProverUnivariates = AllEntities<bb::Univariate<FF, LENGTH> >

Definition at line 60 of file mega_zk_flavor.hpp.

◆ Transcript

◆ VerifierCommitments

Member Function Documentation

◆ FINAL_PCS_MSM_SIZE()

static constexpr size_t bb::MegaZKFlavor::FINAL_PCS_MSM_SIZE ( size_t  log_n = MegaFlavor::VIRTUAL_LOG_N)
inlinestaticconstexpr

Definition at line 45 of file mega_zk_flavor.hpp.

◆ PROOF_LENGTH_WITHOUT_PUB_INPUTS()

static constexpr size_t bb::MegaZKFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS ( size_t  virtual_log_n = VIRTUAL_LOG_N)
inlinestaticconstexpr

Definition at line 64 of file mega_zk_flavor.hpp.

Member Data Documentation

◆ BATCHED_RELATION_PARTIAL_LENGTH

constexpr size_t bb::MegaZKFlavor::BATCHED_RELATION_PARTIAL_LENGTH = MegaFlavor::BATCHED_RELATION_PARTIAL_LENGTH + 1
staticconstexpr

Definition at line 30 of file mega_zk_flavor.hpp.

◆ HasZK

constexpr bool bb::MegaZKFlavor::HasZK = true
staticconstexpr

Definition at line 24 of file mega_zk_flavor.hpp.

◆ NUM_ALL_ENTITIES

constexpr size_t bb::MegaZKFlavor::NUM_ALL_ENTITIES = MegaFlavor::NUM_ALL_ENTITIES + NUM_MASKING_POLYNOMIALS
staticconstexpr

Definition at line 40 of file mega_zk_flavor.hpp.

◆ NUM_MASKING_POLYNOMIALS

constexpr size_t bb::MegaZKFlavor::NUM_MASKING_POLYNOMIALS = 1
staticconstexpr

Definition at line 27 of file mega_zk_flavor.hpp.

◆ NUM_UNSHIFTED_ENTITIES

constexpr size_t bb::MegaZKFlavor::NUM_UNSHIFTED_ENTITIES = MegaFlavor::NUM_UNSHIFTED_ENTITIES + NUM_MASKING_POLYNOMIALS
staticconstexpr

Definition at line 42 of file mega_zk_flavor.hpp.

◆ NUM_WITNESS_ENTITIES

constexpr size_t bb::MegaZKFlavor::NUM_WITNESS_ENTITIES = MegaFlavor::NUM_WITNESS_ENTITIES + NUM_MASKING_POLYNOMIALS
staticconstexpr

Definition at line 38 of file mega_zk_flavor.hpp.

◆ OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS

constexpr size_t bb::MegaZKFlavor::OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
staticconstexpr
Initial value:
=
static constexpr size_t num_frs_comm
static constexpr size_t NUM_WITNESS_ENTITIES

Definition at line 51 of file mega_zk_flavor.hpp.

◆ VIRTUAL_LOG_N

constexpr size_t bb::MegaZKFlavor::VIRTUAL_LOG_N = HIDING_KERNEL_LOG_N
staticconstexpr

Definition at line 21 of file mega_zk_flavor.hpp.


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