Module ark_poly_commit::kzg10

source ·
Expand description

The core [KZG10] construction.

Here we construct a polynomial commitment that enables users to commit to a single polynomial p, and then later provide an evaluation proof that convinces verifiers that a claimed value v is the true evaluation of p at a chosen point x. Our construction follows the template of the construction proposed by Kate, Zaverucha, and Goldberg (KZG10). This construction achieves extractability in the algebraic group model (AGM).

Structs

  • Commitment commits to a polynomial. It is output by KZG10::commit.
  • KZG10 is an implementation of the polynomial commitment scheme of Kate, Zaverucha and Goldbgerg
  • Powers is used to commit to and create evaluation proofs for a given polynomial.
  • PreparedCommitment commits to a polynomial and prepares for mul_bits.
  • PreparedVerifierKey is the fully prepared version for checking evaluation proofs for a given commitment. We omit gamma here for simplicity.
  • Proof is an evaluation proof that is output by KZG10::open.
  • Randomness hides the polynomial inside a commitment. It is output by KZG10::commit.
  • UniversalParams are the universal parameters for the KZG10 scheme.
  • VerifierKey is used to check evaluation proofs for a given commitment.