Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
mega_zk_recursive_flavor.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: Planned, auditors: [], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6
7#pragma once
21
22namespace bb {
23
38template <typename BuilderType> class MegaZKRecursiveFlavor_ : public MegaRecursiveFlavor_<BuilderType> {
39 public:
44
45 static constexpr bool HasZK = true;
46
47 // The number of entities added for ZK (gemini_masking_poly)
48 static constexpr size_t NUM_MASKING_POLYNOMIALS = 1;
49
50 static constexpr size_t VIRTUAL_LOG_N = MegaZKFlavor::VIRTUAL_LOG_N;
51
52 // NUM_ALL_ENTITIES includes gemini_masking_poly
53 static constexpr size_t NUM_ALL_ENTITIES =
55
56 // BATCHED_RELATION_PARTIAL_LENGTH = algebraic degree of sumcheck relation *after* multiplying by the `pow_zeta`
57 // random polynomial e.g. For \sum(x) [A(x) * B(x) + C(x)] * PowZeta(X), relation length = 2 and random relation
58 // length = 3
60
61 static constexpr size_t FINAL_PCS_MSM_SIZE(size_t log_n = VIRTUAL_LOG_N)
62 {
64 }
65
66 // Override to include ZK entities
67 class AllValues : public MegaFlavor::AllEntities_<FF, HasZK> {
68 public:
70 using Base::Base;
71 };
72
74};
75
76} // namespace bb
A base class labelling all entities (for instance, all of the polynomials used by the prover during s...
The recursive counterpart to the "native" Mega flavor.
typename Curve::Element Commitment
typename Curve::ScalarField FF
Child class of MegaFlavor that runs with ZK Sumcheck. See more in Sumcheck Outline.
static constexpr size_t FINAL_PCS_MSM_SIZE(size_t log_n=MegaFlavor::VIRTUAL_LOG_N)
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t VIRTUAL_LOG_N
The recursive counterpart to the "native" MegaZKFlavor.
static constexpr size_t NUM_MASKING_POLYNOMIALS
typename MegaRecursiveFlavor_< BuilderType >::VerificationKey VerificationKey
typename MegaRecursiveFlavor_< BuilderType >::FF FF
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t VIRTUAL_LOG_N
typename MegaRecursiveFlavor_< BuilderType >::Commitment Commitment
static constexpr size_t FINAL_PCS_MSM_SIZE(size_t log_n=VIRTUAL_LOG_N)
Base Stdlib verification key class.
Definition flavor.hpp:353
Base class templates for structures that contain data parameterized by the fundamental polynomials of...
Entry point for Barretenberg command-line interface.
Definition api.hpp:5