|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Hiding-kernel-only Mega variant: runs with ZK Sumcheck and a reduced relation set. More...
#include <mega_zk_flavor.hpp>
Static Public Member Functions | |
| static constexpr size_t | FINAL_PCS_MSM_SIZE (size_t log_n=VIRTUAL_LOG_N) |
| static const CommitmentLabels & | commitment_labels () |
Static Public Member Functions inherited from bb::MegaZKFlavor_Generated | |
| template<typename TraceBlocks > | |
| static auto | get_gate_blocks (TraceBlocks &blocks) |
| template<typename TraceBlocks > | |
| static auto | get_gate_blocks (TraceBlocks const &blocks) |
| template<typename TraceBlock > | |
| static auto | get_block_non_gate_selectors (TraceBlock &block) |
Static Public Attributes | |
| static constexpr size_t | VIRTUAL_LOG_N = HIDING_KERNEL_LOG_N |
| static constexpr bool | USE_SHORT_MONOMIALS = true |
| static constexpr bool | USE_SIMD_SUMCHECK = true |
| static constexpr bool | HasZK = true |
| static constexpr bool | USE_PADDING = true |
| static constexpr size_t | NUM_WIRES = CircuitBuilder::NUM_WIRES |
| static constexpr bool | HasGeminiMasking = false |
| 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 + 2 |
| static constexpr size_t | NUM_RELATIONS = std::tuple_size_v<Relations> |
| static constexpr size_t | NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>() |
| static constexpr size_t | TRACE_OFFSET = NUM_DISABLED_ROWS_IN_SUMCHECK |
Static Public Attributes inherited from bb::MegaZKFlavor_Generated | |
| static constexpr size_t | NUM_PRECOMPUTED_ENTITIES = 29 |
| static constexpr size_t | NUM_WITNESS_ENTITIES = 12 |
| static constexpr size_t | NUM_MASKING_ENTITIES = 0 |
| static constexpr size_t | NUM_SHIFTED_ENTITIES = 5 |
| static constexpr bool | HasDataBus = true |
| static constexpr size_t | NUM_BUS_COLUMNS = 1 |
| static constexpr std::array< size_t, NUM_BUS_COLUMNS > | BUILDER_BUS_INDICES = { 0 } |
| static constexpr bool | HasLogDerivLookup = false |
| static constexpr bool | HasElliptic = false |
| static constexpr bool | HasMemory = false |
| static constexpr bool | HasNonNativeField = false |
| static constexpr bool | HasEccOpQueue = true |
| static constexpr size_t | NUM_COMMITTED_WITNESS_ENTITIES = NUM_WITNESS_ENTITIES + NUM_MASKING_ENTITIES |
| static constexpr size_t | NUM_UNSHIFTED_ENTITIES = NUM_PRECOMPUTED_ENTITIES + NUM_COMMITTED_WITNESS_ENTITIES |
| static constexpr size_t | NUM_ALL_ENTITIES = NUM_UNSHIFTED_ENTITIES + NUM_SHIFTED_ENTITIES |
| static constexpr std::array< DuplicatePair, NUM_SHIFTED_ENTITIES > | REPEATED_COMMITMENT_PAIRS |
| static constexpr RepeatedCommitmentsData | REPEATED_COMMITMENTS |
| static constexpr std::array< GateKind, 9 > | GATE_KINDS |
Hiding-kernel-only Mega variant: runs with ZK Sumcheck and a reduced relation set.
MegaZKFlavor is exclusively used in production to prove the Chonk hiding kernel (see Chonk::accumulate_hiding_kernel). Because the hiding kernel exercises a strict subset of Mega's gates, several relations are statically vacuous on every honest hiding-kernel trace and are dropped at the protocol level. See scripts/flavor-codegen/src/flavors/mega_zk.ts for the relation list and the justifications for each removal.
Sumcheck runs with Libra masking + row disabling for ZK, so the partial relation length is one larger than Mega's. Unlike UltraFlavorWithZK, MegaZK does not include a Gemini masking polynomial — in the batched Chonk flow the Translator provides masking at the joint circuit size (2^17 = HIDING_KERNEL_LOG_N rows).
Definition at line 41 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::AllValues = AllEntities<FF> |
Definition at line 105 of file mega_zk_flavor.hpp.
Definition at line 45 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::Codec = FrCodec |
Definition at line 53 of file mega_zk_flavor.hpp.
Definition at line 49 of file mega_zk_flavor.hpp.
Definition at line 52 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::CommitmentLabels = AllEntities<std::string> |
Definition at line 120 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::Curve = curve::BN254 |
Definition at line 46 of file mega_zk_flavor.hpp.
Definition at line 117 of file mega_zk_flavor.hpp.
Definition at line 47 of file mega_zk_flavor.hpp.
Definition at line 43 of file mega_zk_flavor.hpp.
Definition at line 48 of file mega_zk_flavor.hpp.
Definition at line 54 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::PartiallyEvaluatedMultivariates = PartiallyEvaluatedMultivariatesBase<AllEntities<Polynomial>, ProverPolynomials, Polynomial> |
Definition at line 114 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::PCS = KZG<Curve> |
Definition at line 50 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::Polynomial = bb::Polynomial<FF> |
Definition at line 51 of file mega_zk_flavor.hpp.
Definition at line 111 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::ProverPolynomials = ProverPolynomialsBase<AllEntities<Polynomial>, AllValues, Polynomial> |
Definition at line 110 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::ProverUnivariates = AllEntities<bb::Univariate<FF, LENGTH> > |
Definition at line 116 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::Relations = Relations_<FF> |
Definition at line 71 of file mega_zk_flavor.hpp.
Definition at line 84 of file mega_zk_flavor.hpp.
Definition at line 55 of file mega_zk_flavor.hpp.
| using bb::MegaZKFlavor::VerificationKey = NativeVerificationKey_<PrecomputedEntities<Commitment>, Codec, HashFunction, CommitmentKey> |
Definition at line 112 of file mega_zk_flavor.hpp.
Definition at line 113 of file mega_zk_flavor.hpp.
Definition at line 118 of file mega_zk_flavor.hpp.
|
inlinestatic |
Definition at line 121 of file mega_zk_flavor.hpp.
|
inlinestaticconstexpr |
Definition at line 100 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 77 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 69 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 63 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 73 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 80 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 83 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 65 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 95 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 64 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 59 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 61 of file mega_zk_flavor.hpp.
|
staticconstexpr |
Definition at line 58 of file mega_zk_flavor.hpp.