27 static constexpr bool HasZK =
true;
36 "LIBRA_UNIVARIATES_LENGTH must be equal to UltraZKFlavor::BATCHED_RELATION_PARTIAL_LENGTH");
37 static constexpr size_t num_frs_comm = FrCodec::calc_num_fields<Commitment>();
38 static constexpr size_t num_frs_fr = FrCodec::calc_num_fields<FF>();
139 for (
size_t i = 0; i < num_public_inputs; ++i) {
156 for (
size_t i = 0; i < virtual_log_n; ++i) {
162 this->sumcheck_evaluations =
166 for (
size_t i = 0; i < virtual_log_n - 1; ++i) {
170 for (
size_t i = 0; i < virtual_log_n; ++i) {
208 for (
size_t i = 0; i < virtual_log_n; ++i) {
216 for (
size_t i = 0; i < virtual_log_n - 1; ++i) {
219 for (
size_t i = 0; i < virtual_log_n; ++i) {
#define BB_ASSERT_EQ(actual, expected,...)
void serialize_to_buffer(const T &element, Proof &proof_data)
Serializes object and appends it to proof_data.
static std::shared_ptr< BaseTranscript > prover_init_empty()
For testing: initializes transcript with some arbitrary data so that a challenge can be generated aft...
T deserialize_from_buffer(const Proof &proof_data, size_t &offset) const
Deserializes the frs starting at offset into the typed element and returns that element.
static std::shared_ptr< BaseTranscript > verifier_init_empty(const std::shared_ptr< BaseTranscript > &transcript)
For testing: initializes transcript based on proof data then receives junk data produced by BaseTrans...
A base class labelling all entities (for instance, all of the polynomials used by the prover during s...
A field element for each entity of the flavor. These entities represent the prover polynomials evalua...
A container for storing the partially evaluated multivariates produced by sumcheck.
A container for polynomials handles.
Derived class that defines proof structure for Ultra proofs, as well as supporting functions.
std::vector< FF > public_inputs
Commitment lookup_inverses_comm
Commitment shplonk_q_comm
std::vector< FF > gemini_fold_evals
Commitment lookup_read_tags_comm
Commitment lookup_read_counts_comm
BaseTranscript< Codec, HashFunction > Base
std::vector< Commitment > gemini_fold_comms
A container encapsulating all the commitments that the verifier receives (to precomputed polynomials ...
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
Curve::AffineElement Commitment
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t NUM_UNSHIFTED_ENTITIES
static constexpr size_t NUM_WITNESS_ENTITIES
Derived class that defines proof structure for Ultra zero knowledge proofs, as well as supporting fun...
Commitment hiding_polynomial_commitment
void deserialize_full_transcript(size_t num_public_inputs, size_t virtual_log_n=CONST_PROOF_SIZE_LOG_N)
Takes a FULL Ultra proof and deserializes it into the public member variables that compose the struct...
std::vector< bb::Univariate< FF, BATCHED_RELATION_PARTIAL_LENGTH > > zk_sumcheck_univariates
FF libra_claimed_evaluation
std::array< FF, NUM_ALL_ENTITIES > sumcheck_evaluations
Commitment libra_grand_sum_commitment
Commitment libra_concatenation_commitment
Commitment libra_quotient_commitment
FF libra_concatenation_eval
static std::shared_ptr< Transcript_ > prover_init_empty()
FF hiding_polynomial_eval
FF libra_shifted_grand_sum_eval
void serialize_full_transcript(size_t virtual_log_n=CONST_PROOF_SIZE_LOG_N)
Serializes the structure variables into a FULL Ultra proof. Should be called only if deserialize_full...
static std::shared_ptr< Transcript_ > verifier_init_empty(const std::shared_ptr< Transcript_ > &transcript)
Child class of UltraFlavor that runs with ZK Sumcheck.
static constexpr size_t OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
static constexpr bool HasZK
static constexpr size_t NUM_UNSHIFTED_ENTITIES
static constexpr size_t FINAL_PCS_MSM_SIZE(size_t log_n=CONST_PROOF_SIZE_LOG_N)
static constexpr size_t NUM_WITNESS_ENTITIES
static constexpr size_t num_frs_comm
static constexpr size_t num_frs_fr
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS(size_t virtual_log_n=CONST_PROOF_SIZE_LOG_N)
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t NUM_MASKING_POLYNOMIALS
A univariate polynomial represented by its values on {0, 1,..., domain_end - 1}.
static constexpr uint32_t LIBRA_UNIVARIATES_LENGTH
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept