snarkvm_algorithms::polycommit

Module sonic_pc

Source
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).

Structs§

Enums§

Functions§

Type Aliases§

  • Commitment is the commitment for the KZG10 scheme.
  • Evaluations is the result of querying a set of labeled polynomials or equations p at a QuerySet Q. It maps each element of Q to the resulting evaluation. That is, if (label, query) is an element of Q, then evaluation.get((label, query)) should equal p[label].evaluate(query).
  • Labels a LabeledPolynomial or a LabeledCommitment.
  • QuerySet is the set of queries that are to be made to a set of labeled polynomials/equations p that have previously been committed to. Each element of a QuerySet is a (label, query) pair, where label is the label of a polynomial in p, and query is the field element that p[label] is to be queried at.
  • Randomness is the randomness for the KZG10 scheme.
  • UniversalParams are the universal parameters for the KZG10 scheme.