Module snarkvm_polycommit::kzg10 [−][src]
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 (KZG11).
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.