|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Public Types | |
| enum class | FailureMode : std::uint8_t { None , A_Zero , G_Zero , ChangePoly } |
| enum class | PolyType : std::uint8_t { Random , ManyZeros , Sparse , Zero } |
| using | Fr = typename NativeCurve::ScalarField |
| using | GroupElement = typename NativeCurve::Element |
| using | CK = CommitmentKey< NativeCurve > |
| using | VK = VerifierCommitmentKey< NativeCurve > |
| using | Polynomial = bb::Polynomial< Fr > |
| using | Commitment = typename NativeCurve::AffineElement |
| using | StdlibProof = bb::stdlib::Proof< Builder > |
| using | StdlibTranscript = UltraStdlibTranscript |
Public Member Functions | |
| template<size_t log_poly_length> | |
| std::pair< std::shared_ptr< StdlibTranscript >, OpeningClaim< Curve > > | create_ipa_claim (Builder &builder, Polynomial &poly, Fr x) |
| Given a builder, polynomial, and challenge point, return the transcript and opening claim in circuit. | |
| template<size_t log_poly_length> | |
| Builder | build_ipa_recursive_verifier_circuit (Polynomial &poly, Fr x) |
Given a poly and a challenge x, return the recursive verifier circuit. | |
| template<size_t log_poly_length> | |
| std::tuple< Polynomial, Fr > | generate_poly_and_challenge (PolyType poly_type=PolyType::Random) |
| template<size_t log_poly_length> | |
| void | test_recursive_ipa (Polynomial &poly, Fr x) |
| Tests IPA recursion. | |
| template<size_t log_poly_length> | |
| void | test_accumulation (Polynomial &poly1, Polynomial &poly2, Fr x1, Fr x2) |
| Tests IPA accumulation by accumulating two IPA claims and proving the accumulated claim. | |
Public Member Functions inherited from bb::CommitmentTest< NativeCurve > | |
| CommitmentTest () | |
| const CK & | ck () |
| VK & | vk () |
| Commitment | commit (const Polynomial &polynomial) |
| Fr | random_element () |
| Polynomial | random_polynomial (const size_t poly_size) |
| OpeningPair< NativeCurve > | random_eval (const Polynomial &polynomial) |
| std::vector< Fr > | random_evaluation_point (const size_t num_variables) |
| void | verify_opening_claim (const OpeningClaim< NativeCurve > &claim, const Polynomial &witness, CommitmentKey< NativeCurve > ck=CommitmentKey< NativeCurve >()) |
| void | verify_opening_pair (const OpeningPair< NativeCurve > &opening_pair, const Polynomial &witness) |
| void | verify_batch_opening_claim (std::span< const OpeningClaim< NativeCurve > > multi_claims, std::span< const Polynomial > witnesses) |
| Ensures that a 'BatchOpeningClaim' is correct by checking that. | |
| void | verify_batch_opening_pair (std::vector< ProverOpeningClaim< NativeCurve > > opening_claims) |
| Ensures that a set of opening pairs is correct by checking that evaluations are correct by recomputing them from each witness polynomial. | |
| std::vector< UnivariateClaimData< NativeCurve > > | generate_claim_data (const std::vector< size_t > &poly_sizes) |
| std::pair< std::vector< Fr >, std::vector< Fr > > | combine_claims (std::vector< UnivariateClaimData< NativeCurve > > &claims) |
Additional Inherited Members | |
Static Public Member Functions inherited from bb::CommitmentTest< NativeCurve > | |
| static void | SetUpTestSuite () |
| static void | TearDownTestSuite () |
Public Attributes inherited from bb::CommitmentTest< NativeCurve > | |
| numeric::RNG * | engine |
Static Public Attributes inherited from bb::CommitmentTest< NativeCurve > | |
| static CK | commitment_key |
| static VK | verification_key |
Definition at line 19 of file graph_description_ipa_recursive.test.cpp.
Definition at line 23 of file graph_description_ipa_recursive.test.cpp.
| using BoomerangIPARecursiveTests::Commitment = typename NativeCurve::AffineElement |
Definition at line 26 of file graph_description_ipa_recursive.test.cpp.
| using BoomerangIPARecursiveTests::Fr = typename NativeCurve::ScalarField |
Definition at line 21 of file graph_description_ipa_recursive.test.cpp.
| using BoomerangIPARecursiveTests::GroupElement = typename NativeCurve::Element |
Definition at line 22 of file graph_description_ipa_recursive.test.cpp.
Definition at line 25 of file graph_description_ipa_recursive.test.cpp.
Definition at line 27 of file graph_description_ipa_recursive.test.cpp.
Definition at line 29 of file graph_description_ipa_recursive.test.cpp.
Definition at line 24 of file graph_description_ipa_recursive.test.cpp.
|
strong |
| Enumerator | |
|---|---|
| None | |
| A_Zero | |
| G_Zero | |
| ChangePoly | |
Definition at line 34 of file graph_description_ipa_recursive.test.cpp.
|
strong |
| Enumerator | |
|---|---|
| Random | |
| ManyZeros | |
| Sparse | |
| Zero | |
Definition at line 106 of file graph_description_ipa_recursive.test.cpp.
|
inline |
Given a poly and a challenge x, return the recursive verifier circuit.
| log_poly_length |
| poly | |
| x |
Definition at line 93 of file graph_description_ipa_recursive.test.cpp.
|
inline |
Given a builder, polynomial, and challenge point, return the transcript and opening claim in circuit.
Given a poly and x, first generates a native proof (and verifiers), then loads the proof into a StdLib transcript.
| log_poly_length |
| builder | |
| poly | |
| x | |
| failure_mode |
poly is exactly 1 << log_poly_length. Definition at line 52 of file graph_description_ipa_recursive.test.cpp.
|
inline |
Definition at line 109 of file graph_description_ipa_recursive.test.cpp.
|
inline |
Tests IPA accumulation by accumulating two IPA claims and proving the accumulated claim.
Creates two IPA claims, and then two IPA accumulators through recursive verification. Proves the accumulated claim and checks that it verifies.
| log_poly_length |
Definition at line 156 of file graph_description_ipa_recursive.test.cpp.
|
inline |
Tests IPA recursion.
Creates an IPA claim and then runs the recursive IPA verification and checks that the circuit is valid.
Definition at line 142 of file graph_description_ipa_recursive.test.cpp.