|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <chonk_proof.hpp>
Classes | |
| class | DeserializationError |
Public Types | |
| using | Builder = std::conditional_t< IsRecursive, UltraCircuitBuilder, void > |
| using | HonkProof = std::conditional_t< IsRecursive, stdlib::Proof< Builder >, ::bb::HonkProof > |
| using | FF = std::conditional_t< IsRecursive, stdlib::field_t< Builder >, bb::fr > |
Public Member Functions | |
| ChonkProof_ ()=default | |
| ChonkProof_ (HonkProof mega_zk, HonkProof merge, HonkProof eccvm, HonkProof ipa, HonkProof joint) | |
| template<typename B = Builder> requires IsRecursive | |
| ChonkProof_ (B &builder, const ChonkProof_< false > &proof) | |
| size_t | size () const |
| std::vector< FF > | to_field_elements () const |
| Serialize proof to field elements (native mode) | |
| msgpack::sbuffer | to_msgpack_buffer () const |
| uint8_t * | to_msgpack_heap_buffer () const |
| void | to_file_msgpack (const std::string &filename) const |
| SERIALIZATION_FIELDS (hiding_oink_proof, merge_proof, eccvm_proof, ipa_proof, joint_proof) | |
| bool | operator== (const ChonkProof_ &other) const =default |
Static Public Member Functions | |
| static ChonkProof_ | from_field_elements (const std::vector< FF > &fields) |
| Reconstruct proof from field elements. | |
| static ChonkProof_ | from_msgpack_buffer (uint8_t const *&buffer) |
| static ChonkProof_ | from_msgpack_buffer (const msgpack::sbuffer &buffer) |
| static ChonkProof_ | from_file_msgpack (const std::string &filename) |
Public Attributes | |
| HonkProof | hiding_oink_proof |
| HonkProof | merge_proof |
| HonkProof | eccvm_proof |
| HonkProof | ipa_proof |
| HonkProof | joint_proof |
Static Public Attributes | |
| static constexpr size_t | HIDING_OINK_LENGTH = ProofLength::Oink<MegaZKFlavor>::LENGTH_WITHOUT_PUB_INPUTS |
| static constexpr size_t | JOINT_PROOF_LENGTH |
| static constexpr size_t | PROOF_LENGTH_WITHOUT_PUB_INPUTS |
| static constexpr size_t | PROOF_LENGTH = PROOF_LENGTH_WITHOUT_PUB_INPUTS + bb::HidingKernelIO::PUBLIC_INPUTS_SIZE |
| static constexpr const char | MSGPACK_SCHEMA_NAME [] = "ChonkProof" |
Chonk proof type.
Contains five proof segments produced by the batched MegaZK + Translator protocol:
The joint sumcheck and PCS batch the MegaZK and translator circuits together, eliminating separate sumcheck/PCS phases and reducing overall proof size.
Definition at line 36 of file chonk_proof.hpp.
| using bb::ChonkProof_< IsRecursive >::Builder = std::conditional_t<IsRecursive, UltraCircuitBuilder, void> |
Definition at line 37 of file chonk_proof.hpp.
| using bb::ChonkProof_< IsRecursive >::FF = std::conditional_t<IsRecursive, stdlib::field_t<Builder>, bb::fr> |
Definition at line 39 of file chonk_proof.hpp.
| using bb::ChonkProof_< IsRecursive >::HonkProof = std::conditional_t<IsRecursive, stdlib::Proof<Builder>, ::bb::HonkProof> |
Definition at line 38 of file chonk_proof.hpp.
|
default |
|
inline |
Definition at line 62 of file chonk_proof.hpp.
|
inline |
Definition at line 73 of file chonk_proof.hpp.
|
static |
Reconstruct proof from field elements.
Split a flat vector of field elements into ChonkProof components.
Uses known fixed sizes for merge/eccvm/ipa proofs, and derives the hiding_oink_proof and joint_proof sizes from the total.
Definition at line 36 of file chonk_proof.cpp.
|
inlinestatic |
Definition at line 150 of file chonk_proof.hpp.
|
inlinestatic |
Definition at line 124 of file chonk_proof.hpp.
|
inlinestatic |
Definition at line 115 of file chonk_proof.hpp.
|
default |
| bb::ChonkProof_< IsRecursive >::SERIALIZATION_FIELDS | ( | hiding_oink_proof | , |
| merge_proof | , | ||
| eccvm_proof | , | ||
| ipa_proof | , | ||
| joint_proof | |||
| ) |
|
inline |
Definition at line 81 of file chonk_proof.hpp.
| template std::vector< stdlib::field_t< UltraCircuitBuilder > > bb::ChonkProof_< IsRecursive >::to_field_elements | ( | ) | const |
Serialize proof to field elements (native mode)
Serialize Chonk Proof to a flat vector of field elements.
Definition at line 18 of file chonk_proof.cpp.
|
inline |
Definition at line 138 of file chonk_proof.hpp.
|
inline |
Definition at line 99 of file chonk_proof.hpp.
|
inline |
Definition at line 107 of file chonk_proof.hpp.
| HonkProof bb::ChonkProof_< IsRecursive >::eccvm_proof |
Definition at line 43 of file chonk_proof.hpp.
|
staticconstexpr |
Definition at line 48 of file chonk_proof.hpp.
| HonkProof bb::ChonkProof_< IsRecursive >::hiding_oink_proof |
Definition at line 41 of file chonk_proof.hpp.
| HonkProof bb::ChonkProof_< IsRecursive >::ipa_proof |
Definition at line 44 of file chonk_proof.hpp.
| HonkProof bb::ChonkProof_< IsRecursive >::joint_proof |
Definition at line 45 of file chonk_proof.hpp.
|
staticconstexpr |
Definition at line 51 of file chonk_proof.hpp.
| HonkProof bb::ChonkProof_< IsRecursive >::merge_proof |
Definition at line 42 of file chonk_proof.hpp.
|
staticconstexpr |
Definition at line 169 of file chonk_proof.hpp.
|
staticconstexpr |
Definition at line 56 of file chonk_proof.hpp.
|
staticconstexpr |
Definition at line 54 of file chonk_proof.hpp.