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.