nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType > Struct Template Reference
#include <proof.hpp>
Collaboration diagram for nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >:
Public Types | |
typedef CurveType | curve_type |
Public Member Functions | |
bool | is_valid () const |
Public Attributes | |
curve_type::template g1_type ::value_type | agg_c |
$C^r$ is used on the right side of the aggregated Groth16 equation More... | |
r1cs_gg_ppzksnark_ipp2_commitment_output< curve_type > | com_ab |
r1cs_gg_ppzksnark_ipp2_commitment_output< curve_type > | com_c |
commit to C separate since we use it only in MIPP More... | |
curve_type::gt_type::value_type | ip_ab |
$A^r * B = Z$ is the left value on the aggregated Groth16 equation More... | |
tipp_mipp_proof< curve_type > | tmipp |
Detailed Description
template<typename CurveType>
struct nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >
AggregateProof contains all elements to verify n aggregated Groth16 proofs using inner pairing product arguments. This proof can be created by any party in possession of valid Groth16 proofs.
Member Typedef Documentation
◆ curve_type
template<typename CurveType >
typedef CurveType nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::curve_type |
Member Function Documentation
◆ is_valid()
template<typename CurveType >
|
inline |
Performs some high level checks on the length of vectors and others to make sure all items in the proofs are consistent with each other.
Member Data Documentation
◆ agg_c
template<typename CurveType >
curve_type::template g1_type ::value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::agg_c |
$C^r$ is used on the right side of the aggregated Groth16 equation
◆ com_ab
template<typename CurveType >
r1cs_gg_ppzksnark_ipp2_commitment_output<curve_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::com_ab |
commitment to A and B using the pair commitment scheme needed to verify TIPP relation.
◆ com_c
template<typename CurveType >
r1cs_gg_ppzksnark_ipp2_commitment_output<curve_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::com_c |
commit to C separate since we use it only in MIPP
◆ ip_ab
template<typename CurveType >
curve_type::gt_type::value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::ip_ab |
$A^r * B = Z$ is the left value on the aggregated Groth16 equation
◆ tmipp
template<typename CurveType >
tipp_mipp_proof<curve_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::tmipp |
The documentation for this struct was generated from the following file: