Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
mega_zk_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
8
10
11namespace bb {
12
18 public:
19 // Indicates that this flavor runs with non-ZK Sumcheck.
20 static constexpr bool HasZK = true;
21 // The degree has to be increased because the relation is multiplied by the Row Disabling Polynomial
24 "LIBRA_UNIVARIATES_LENGTH must be equal to MegaZKFlavor::BATCHED_RELATION_PARTIAL_LENGTH");
25
26 // Proof length formula
27 static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS(size_t virtual_log_n = MegaFlavor::VIRTUAL_LOG_N)
28 {
29 return /* 1. NUM_WITNESS_ENTITIES commitments */ (NUM_WITNESS_ENTITIES * num_frs_comm) +
30 /* 2. Libra concatenation commitment*/ (num_frs_comm) +
31 /* 3. Libra sum */ (num_frs_fr) +
32 /* 4. virtual_log_n sumcheck univariates */
34 /* 5. NUM_ALL_ENTITIES sumcheck evaluations*/ (NUM_ALL_ENTITIES * num_frs_fr) +
35 /* 6. Libra claimed evaluation */ (num_frs_fr) +
36 /* 7. Libra grand sum commitment */ (num_frs_comm) +
37 /* 8. Libra quotient commitment */ (num_frs_comm) +
38 /* 9. Gemini masking commitment */ (num_frs_comm) +
39 /* 10. Gemini masking evaluation */ (num_frs_fr) +
40 /* 11. virtual_log_n - 1 Gemini Fold commitments */
41 ((virtual_log_n - 1) * num_frs_comm) +
42 /* 12. virtual_log_n Gemini a evaluations */
43 (virtual_log_n * num_frs_fr) +
44 /* 13. NUM_SMALL_IPA_EVALUATIONS libra evals */ (NUM_SMALL_IPA_EVALUATIONS * num_frs_fr) +
45 /* 14. Shplonk Q commitment */ (num_frs_comm) +
46 /* 15. KZG W commitment */ (num_frs_comm);
47 }
48
50};
51
52} // namespace bb
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
static constexpr size_t num_frs_fr
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t NUM_WITNESS_ENTITIES
static constexpr size_t VIRTUAL_LOG_N
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t num_frs_comm
Child class of MegaFlavor that runs with ZK Sumcheck. See more in Sumcheck Outline.
static constexpr bool HasZK
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS(size_t virtual_log_n=MegaFlavor::VIRTUAL_LOG_N)
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr uint32_t LIBRA_UNIVARIATES_LENGTH
Definition bn254.hpp:46
Entry point for Barretenberg command-line interface.
BaseTranscript< NativeTranscriptParams > NativeTranscript