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: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
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 // Override to include ZK entities
62 class AllValues : public MegaFlavor::AllEntities_<FF, HasZK> {
63 public:
65 using Base::Base;
66 };
67
69};
70
71} // namespace bb
A base class labelling all entities (for instance, all of the polynomials used by the prover during s...
The verification key is responsible for storing the commitments to the precomputed (non-witnessk) pol...
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 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
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