Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
eccvm_short_monomial_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
8
18
19namespace bb {
20
22 public:
25
26 static constexpr bool USE_SHORT_MONOMIALS = true;
27
29 // WARNING: this relation list is not free to reorder or regroup. Each short relation (or contiguous group of
30 // split short relations) must occupy the same global subrelation index range as the legacy monolithic relation it
31 // stands in for, because the verifier batches subrelations by alpha in that exact order. Changing the order or
32 // splitting a relation without preserving the index layout silently breaks the batching and produces proofs the
33 // legacy verifier rejects.
34 //
35 // ECCVMTranscriptMsmTransitionShortRelation immediately follows the main transcript relation: together they cover
36 // the same global subrelation index range (0..31) as the verifier's monolithic ECCVMTranscriptRelation, so the
37 // alpha batching is unchanged.
38 template <typename FF_>
54
55 static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>();
56 using SubrelationSeparators = std::array<FF, NUM_SUBRELATIONS - 1>;
57
58 static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>();
61
64
68};
69
70} // namespace bb
A base class labelling all entities (for instance, all of the polynomials used by the prover during s...
typename Curve::ScalarField FF
static constexpr size_t NUM_SUBRELATIONS
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH
curve::Grumpkin Curve
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
std::tuple< ECCVMSetShortRelation< FF > > GrandProductRelations
std::array< FF, NUM_SUBRELATIONS - 1 > SubrelationSeparators
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
std::tuple< ECCVMTranscriptShortRelation< FF_ >, ECCVMTranscriptMsmTransitionShortRelation< FF_ >, ECCVMPointTableDoubleShortRelation< FF_ >, ECCVMPointTableShortRelation< FF_ >, ECCVMWnafShortRelation< FF_ >, ECCVMMSMAddShortRelation< FF_ >, ECCVMMSMDoubleShortRelation< FF_ >, ECCVMMSMSkewShortRelation< FF_ >, ECCVMMSMShortRelation< FF_ >, ECCVMSetShortRelation< FF_ >, ECCVMLookupShortRelation< FF_ >, ECCVMBoolsTranscriptShortRelation< FF_ >, ECCVMBoolsMsmShortRelation< FF_ > > Relations_
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13