Module snarkvm_polycommit::sonic_pc
source · [−]Expand description
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).
Modules
Gadgets for Sonic-KZG10 commitments.
Gadgets for Sonic-KZG10 proofs.
Gadget for Sonic-KZG10 polynomial commitment scheme.
Verifier key gadgets for the Sonic-KZG10 polynomial commitment scheme.
Structs
Evaluation proof at a query set.
ComitterKey
is used to commit to, and create evaluation proofs for, a given
polynomial.
PreparedVerifierKey
is used to check evaluation proofs for a given commitment.
Polynomial commitment based on [KZG10], with degree enforcement and batching taken from [MBKM19, “Sonic”] (more precisely, their counterparts in [Gabizon19, “AuroraLight”] that avoid negative G1 powers). The (optional) hiding property of the commitment scheme follows the approach described in [CHMMVW20, “Marlin”].
VerifierKey
is used to check evaluation proofs for a given commitment.
Type Definitions
Commitment
is the commitment for the KZG10 scheme.
PreparedCommitment
is the prepared commitment for the KZG10 scheme.
Randomness
is the randomness for the KZG10 scheme.
UniversalParams
are the universal parameters for the KZG10 scheme.