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