Barretenberg
The ZK-SNARK library at the core of Aztec
|
A full proof for the IVC scheme containing a Mega proof showing correctness of the hiding circuit (which recursive verified the last folding and decider proof) and a Goblin proof (translator VM, ECCVM and last merge proof). More...
#include <client_ivc.hpp>
Classes | |
class | DeserializationError |
Public Member Functions | |
size_t | size () const |
std::vector< FF > | to_field_elements () const |
Serialize proof to field elements. | |
msgpack::sbuffer | to_msgpack_buffer () const |
uint8_t * | to_msgpack_heap_buffer () const |
Very quirky method to convert a msgpack buffer to a "heap" buffer. | |
void | to_file_msgpack (const std::string &filename) const |
MSGPACK_FIELDS (mega_proof, goblin_proof) | |
bool | operator== (const Proof &other) const =default |
Static Public Member Functions | |
static constexpr size_t | PROOF_LENGTH_WITHOUT_PUB_INPUTS (size_t virtual_log_n=MegaZKFlavor::VIRTUAL_LOG_N) |
The size of a ClientIVC proof without backend-added public inputs. | |
static constexpr size_t | PROOF_LENGTH (size_t virtual_log_n=MegaZKFlavor::VIRTUAL_LOG_N) |
The size of a ClientIVC proof with backend-added public inputs: HidingKernelIO. | |
static Proof | from_msgpack_buffer (uint8_t const *&buffer) |
static Proof | from_msgpack_buffer (const msgpack::sbuffer &buffer) |
static Proof | from_file_msgpack (const std::string &filename) |
Public Attributes | |
HonkProof | mega_proof |
GoblinProof | goblin_proof |
Static Public Attributes | |
static constexpr const char * | MSGPACK_SCHEMA_NAME = "ClientIVCProof" |
A full proof for the IVC scheme containing a Mega proof showing correctness of the hiding circuit (which recursive verified the last folding and decider proof) and a Goblin proof (translator VM, ECCVM and last merge proof).
This proof will be zero-knowledge.
Definition at line 96 of file client_ivc.hpp.
|
static |
Definition at line 713 of file client_ivc.cpp.
|
static |
Definition at line 693 of file client_ivc.cpp.
|
static |
Definition at line 683 of file client_ivc.cpp.
bb::ClientIVC::Proof::MSGPACK_FIELDS | ( | mega_proof | , |
goblin_proof | |||
) |
|
default |
|
inlinestaticconstexpr |
The size of a ClientIVC proof with backend-added public inputs: HidingKernelIO.
virtual_log_n |
Definition at line 121 of file client_ivc.hpp.
|
inlinestaticconstexpr |
The size of a ClientIVC proof without backend-added public inputs.
virtual_log_n |
Definition at line 106 of file client_ivc.hpp.
size_t bb::ClientIVC::Proof::size | ( | ) | const |
Definition at line 649 of file client_ivc.cpp.
std::vector< ClientIVC::FF > bb::ClientIVC::Proof::to_field_elements | ( | ) | const |
Serialize proof to field elements.
Definition at line 654 of file client_ivc.cpp.
void bb::ClientIVC::Proof::to_file_msgpack | ( | const std::string & | filename | ) | const |
Definition at line 702 of file client_ivc.cpp.
msgpack::sbuffer bb::ClientIVC::Proof::to_msgpack_buffer | ( | ) | const |
Definition at line 668 of file client_ivc.cpp.
uint8_t * bb::ClientIVC::Proof::to_msgpack_heap_buffer | ( | ) | const |
Very quirky method to convert a msgpack buffer to a "heap" buffer.
This method results in a buffer that is double-size-prefixed with the buffer size. This is to mimmic the original bb.js behavior which did a *out_proof = to_heap_buffer(to_buffer(proof));
Definition at line 675 of file client_ivc.cpp.
GoblinProof bb::ClientIVC::Proof::goblin_proof |
Definition at line 98 of file client_ivc.hpp.
HonkProof bb::ClientIVC::Proof::mega_proof |
Definition at line 97 of file client_ivc.hpp.
|
staticconstexpr |
Definition at line 148 of file client_ivc.hpp.