barretenberg
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
proof_system::honk::flavor::Ultra::Transcript Class Reference

Derived class that defines proof structure for Ultra proofs, as well as supporting functions. More...

#include <ultra.hpp>

Inheritance diagram for proof_system::honk::flavor::Ultra::Transcript:
proof_system::honk::BaseTranscript

Public Member Functions

 Transcript (const std::vector< uint8_t > &proof)
 
void deserialize_full_transcript ()
 Takes a FULL Ultra proof and deserializes it into the public member variables that compose the structure. Must be called in order to access the structure of the proof.
 
void serialize_full_transcript ()
 Serializes the structure variables into a FULL Ultra proof. Should be called only if deserialize_full_transcript() was called and some transcript variable was modified.
 
- Public Member Functions inherited from proof_system::honk::BaseTranscript
 BaseTranscript (const Proof &proof_data)
 Construct a new Base Transcript object for Verifier using proof_data.
 
std::vector< uint8_t > export_proof ()
 Return the proof data starting at proof_start.
 
void load_proof (const std::vector< uint8_t > &proof)
 
template<typename... Strings>
std::array< uint256_t, sizeof...(Strings)> get_challenges (const Strings &... labels)
 After all the prover messages have been sent, finalize the round by hashing all the data and then create the number of requested challenges.
 
template<class T >
void send_to_verifier (const std::string &label, const T &element)
 Adds a prover message to the transcript, only intended to be used by the prover.
 
template<class T >
receive_from_prover (const std::string &label)
 Reads the next element of type T from the transcript, with a predefined label, only used by verifier.
 
uint256_t get_challenge (const std::string &label)
 
TranscriptManifest get_manifest () const
 
void print ()
 

Static Public Member Functions

static std::shared_ptr< Transcriptprover_init_empty ()
 
static std::shared_ptr< Transcriptverifier_init_empty (const std::shared_ptr< Transcript > &transcript)
 
- Static Public Member Functions inherited from proof_system::honk::BaseTranscript
static std::shared_ptr< BaseTranscriptprover_init_empty ()
 For testing: initializes transcript with some arbitrary data so that a challenge can be generated after initialization. Only intended to be used by Prover.
 
static std::shared_ptr< BaseTranscriptverifier_init_empty (const std::shared_ptr< BaseTranscript > &transcript)
 For testing: initializes transcript based on proof data then receives junk data produced by BaseTranscript::prover_init_empty(). Only intended to be used by Verifier.
 

Public Attributes

uint32_t circuit_size
 
uint32_t public_input_size
 
uint32_t pub_inputs_offset
 
std::vector< FFpublic_inputs
 
Commitment w_l_comm
 
Commitment w_r_comm
 
Commitment w_o_comm
 
Commitment sorted_accum_comm
 
Commitment w_4_comm
 
Commitment z_perm_comm
 
Commitment z_lookup_comm
 
std::vector< barretenberg::Univariate< FF, BATCHED_RELATION_PARTIAL_LENGTH > > sumcheck_univariates
 
std::array< FF, NUM_ALL_ENTITIES > sumcheck_evaluations
 
std::vector< Commitment > zm_cq_comms
 
Commitment zm_cq_comm
 
Commitment zm_pi_comm
 
- Public Attributes inherited from proof_system::honk::BaseTranscript
std::ptrdiff_t proof_start = 0
 
size_t num_bytes_written = 0
 
size_t num_bytes_read = 0
 
size_t round_number = 0
 
Proof proof_data
 

Additional Inherited Members

- Public Types inherited from proof_system::honk::BaseTranscript
using Proof = std::vector< uint8_t >
 
- Static Public Attributes inherited from proof_system::honk::BaseTranscript
static constexpr size_t HASH_OUTPUT_SIZE = 32
 
- Protected Member Functions inherited from proof_system::honk::BaseTranscript
void consume_prover_element_bytes (const std::string &label, std::span< const uint8_t > element_bytes)
 Adds challenge elements to the current_round_buffer and updates the manifest.
 
template<typename T >
void serialize_to_buffer (const T &element, Proof &proof_data)
 Serializes object and appends it to proof_data.
 
template<typename T >
deserialize_from_buffer (const Proof &proof_data, size_t &offset) const
 Deserializes the bytes starting at offset into the typed element and returns that element.
 

Detailed Description

Derived class that defines proof structure for Ultra proofs, as well as supporting functions.

Member Function Documentation

◆ deserialize_full_transcript()

void proof_system::honk::flavor::Ultra::Transcript::deserialize_full_transcript ( )
inline

Takes a FULL Ultra proof and deserializes it into the public member variables that compose the structure. Must be called in order to access the structure of the proof.

◆ serialize_full_transcript()

void proof_system::honk::flavor::Ultra::Transcript::serialize_full_transcript ( )
inline

Serializes the structure variables into a FULL Ultra proof. Should be called only if deserialize_full_transcript() was called and some transcript variable was modified.


The documentation for this class was generated from the following file: