Module snarkvm_polycommit::marlin_pc[][src]

Expand description

Polynomial commitment scheme from [KZG10] that enforces strict degree bounds and (optionally) enables hiding commitments by following the approach outlined in [CHMMVW20, “Marlin”].

Modules

commitment

Gadgets for Marlin-KZG10 commitments.

marlin_kzg10

Gadget for Marlin-KZG10 polynomial commitment scheme.

proof

Gadgets for Marlin-KZG10 proofs.

verifier_key

Verifier key gadgets for the Marlin-KZG10 polynomial commitment scheme.

Structs

Commitment

Commitment to a polynomial that optionally enforces a degree bound.

CommitterKey

CommitterKey is used to commit to and create evaluation proofs for a given polynomial.

MarlinKZG10

Polynomial commitment based on [KZG10], with degree enforcement, batching, and (optional) hiding property taken from [CHMMVW20, “Marlin”].

PreparedCommitment

Prepared commitment to a polynomial that optionally enforces a degree bound.

PreparedVerifierKey

PreparedVerifierKey is used to check evaluation proofs for a given commitment.

Randomness

Randomness hides the polynomial inside a commitment. It is output by KZG10::commit.

VerifierKey

VerifierKey is used to check evaluation proofs for a given commitment.

Type Definitions

UniversalParams

UniversalParams are the universal parameters for the KZG10 scheme.