Barretenberg
The ZK-SNARK library at the core of Aztec
|
The recursive counterpart to the "native" Ultra flavor. More...
#include <ultra_recursive_flavor.hpp>
Classes | |
class | AllValues |
A field element for each entity of the flavor. These entities represent the prover polynomials evaluated at one point. More... | |
class | VerificationKey |
The verification key is responsible for storing the commitments to the precomputed (non-witnessk) polynomials used by the verifier. More... | |
Public Types | |
using | CircuitBuilder = BuilderType |
using | Curve = stdlib::bn254< CircuitBuilder > |
using | PCS = KZG< Curve > |
using | GroupElement = typename Curve::Element |
using | Commitment = typename Curve::Element |
using | FF = typename Curve::ScalarField |
using | NativeFlavor = UltraFlavor |
using | NativeVerificationKey = NativeFlavor::VerificationKey |
using | Transcript = bb::BaseTranscript< bb::stdlib::recursion::honk::StdlibTranscriptParams< CircuitBuilder > > |
using | VerifierCommitmentKey = bb::VerifierCommitmentKey< NativeFlavor::Curve > |
using | Relations = UltraFlavor::Relations_< FF > |
using | SubrelationSeparators = std::array< FF, NUM_SUBRELATIONS - 1 > |
using | CommitmentLabels = UltraFlavor::CommitmentLabels |
using | WitnessCommitments = UltraFlavor::WitnessEntities< Commitment > |
using | VerifierCommitments = UltraFlavor::VerifierCommitments_< Commitment, VerificationKey > |
using | VKAndHash = VKAndHash_< FF, VerificationKey > |
Static Public Attributes | |
static constexpr size_t | VIRTUAL_LOG_N = UltraFlavor::VIRTUAL_LOG_N |
static constexpr bool | USE_SHORT_MONOMIALS = UltraFlavor::USE_SHORT_MONOMIALS |
static constexpr bool | HasZK = false |
static constexpr bool | USE_PADDING = UltraFlavor::USE_PADDING |
static constexpr size_t | NUM_WIRES = UltraFlavor::NUM_WIRES |
static constexpr size_t | NUM_ALL_ENTITIES = UltraFlavor::NUM_ALL_ENTITIES |
static constexpr size_t | NUM_PRECOMPUTED_ENTITIES = UltraFlavor::NUM_PRECOMPUTED_ENTITIES |
static constexpr size_t | NUM_WITNESS_ENTITIES = UltraFlavor::NUM_WITNESS_ENTITIES |
static constexpr RepeatedCommitmentsData | REPEATED_COMMITMENTS = UltraFlavor::REPEATED_COMMITMENTS |
static constexpr size_t | MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>() |
static constexpr size_t | MAX_TOTAL_RELATION_LENGTH = compute_max_total_relation_length<Relations>() |
static constexpr size_t | BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1 |
static constexpr size_t | NUM_RELATIONS = std::tuple_size<Relations>::value |
static constexpr size_t | NUM_SUBRELATIONS = NativeFlavor::NUM_SUBRELATIONS |
The recursive counterpart to the "native" Ultra flavor.
This flavor can be used to instantiate a recursive Ultra Honk verifier for a proof created using the conventional Ultra flavor. It is similar in structure to its native counterpart with two main differences: 1) the curve types are stdlib types (e.g. field_t instead of field) and 2) it does not specify any Prover related types (e.g. Polynomial, ProverUnivariates, etc.) since we do not emulate prover computation in circuits, i.e. it only makes sense to instantiate a Verifier with this flavor.
BuilderType | Determines the arithmetization of the verifier circuit defined based on this flavor. |
Definition at line 51 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::CircuitBuilder = BuilderType |
Definition at line 53 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::Commitment = typename Curve::Element |
Definition at line 57 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::CommitmentLabels = UltraFlavor::CommitmentLabels |
Definition at line 187 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::Curve = stdlib::bn254<CircuitBuilder> |
Definition at line 54 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::FF = typename Curve::ScalarField |
Definition at line 58 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::GroupElement = typename Curve::Element |
Definition at line 56 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::NativeFlavor = UltraFlavor |
Definition at line 59 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::NativeVerificationKey = NativeFlavor::VerificationKey |
Definition at line 60 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::PCS = KZG<Curve> |
Definition at line 55 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::Relations = UltraFlavor::Relations_<FF> |
Definition at line 88 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::SubrelationSeparators = std::array<FF, NUM_SUBRELATIONS - 1> |
Definition at line 105 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::Transcript = bb::BaseTranscript<bb::stdlib::recursion::honk::StdlibTranscriptParams<CircuitBuilder> > |
Definition at line 61 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::VerifierCommitmentKey = bb::VerifierCommitmentKey<NativeFlavor::Curve> |
Definition at line 68 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::VerifierCommitments = UltraFlavor::VerifierCommitments_<Commitment, VerificationKey> |
Definition at line 192 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::VKAndHash = VKAndHash_<FF, VerificationKey> |
Definition at line 194 of file ultra_recursive_flavor.hpp.
using bb::UltraRecursiveFlavor_< BuilderType >::WitnessCommitments = UltraFlavor::WitnessEntities<Commitment> |
Definition at line 189 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 98 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 70 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 90 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 92 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 78 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 81 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 99 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 104 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 74 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 83 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 85 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 73 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 65 of file ultra_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 63 of file ultra_recursive_flavor.hpp.