Crate snarkvm_polycommit[−][src]
Expand description
A crate for polynomial commitment schemes.
Re-exports
pub use data_structures::*; | |
pub use error::*; |
Modules
data_structures | Data structures used by a polynomial commitment scheme. |
error | Errors pertaining to query sets. |
kzg10 | The core [KZG10] construction. |
marlin_pc | Polynomial commitment scheme from [KZG10] that enforces strict degree bounds and (optionally) enables hiding commitments by following the approach outlined in [CHMMVW20, “Marlin”]. |
optional_rng | A random number generator that bypasses some limitations of the Rust borrow checker. |
sonic_pc | Polynomial commitment scheme based on the construction in [KZG10], modified to obtain batching and to enforce strict degree bounds by following the approach outlined in [MBKM19, “Sonic”] (more precisely, via the variant in [Gabizon19, “AuroraLight”] that avoids negative G1 powers). |
Macros
impl_bytes | Helper macro to forward all derived implementations to the ToBytes and FromBytes traits |
Structs
BatchLCProof | A proof of satisfaction of linear combinations. |
EvaluationsVar | An allocated version of |
LabeledPointVar | A labeled point variable, for queries to a polynomial commitment. |
LinearCombinationVar | An allocated version of |
PCCheckRandomDataVar | A collection of random data used in the polynomial commitment checking. |
Polynomial | Stores a polynomial in coefficient form. |
QuerySetVar | An allocated version of |
Enums
LinearCombinationCoeffVar | A coefficient of |
Traits
PCCheckVar | Describes the interface for a gadget for a |
PolynomialCommitment | Describes the interface for a polynomial commitment scheme that allows
a sender to commit to multiple polynomials and later provide a succinct proof
of evaluation for the corresponding commitments at a query set |
PrepareGadget | Define the minimal interface of prepared allocated structures. |
Functions
evaluate_query_set | Evaluate the given polynomials at |
Type Definitions
Evaluations |
|
QuerySet |
|