Module snarkvm_algorithms::polycommit::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
- A proof of satisfaction of linear combinations.
- Evaluation proof at a query set.
CommitterKeyis used to commit to, and create evaluation proofs for, a given polynomial.CommitterUnionKeyis a union ofCommitterKeys, useful for multi-circuit batch proofs.- A commitment along with information about its degree bound (if any).
- A polynomial along with information about its degree bound (if any), and the maximum number of queries that will be made to it. This latter number determines the amount of protection that will be provided to a commitment for this polynomial.
- A labeled linear combinations of polynomials.
- Polynomial commitment based on [KZG10], with degree enforcement and batching taken from [MBKM19, “Sonic”] (more precisely, their counterparts in [Gabizon19, “AuroraLight”] that avoid negative G1 powers). The (optional) hiding property of the commitment scheme follows the approach described in [CHMMVW20, “Marlin”].
Enums
- A term in a linear combination.
Functions
- Evaluate the given polynomials at
query_set.
Type Aliases
Commitmentis the commitment for the KZG10 scheme.Evaluationsis the result of querying a set of labeled polynomials or equationspat aQuerySetQ. It maps each element ofQto the resulting evaluation. That is, if(label, query)is an element ofQ, thenevaluation.get((label, query))should equalp[label].evaluate(query).- Labels a
LabeledPolynomialor aLabeledCommitment. QuerySetis the set of queries that are to be made to a set of labeled polynomials/equationspthat have previously been committed to. Each element of aQuerySetis a(label, query)pair, wherelabelis the label of a polynomial inp, andqueryis the field element thatp[label]is to be queried at.Randomnessis the randomness for the KZG10 scheme.UniversalParamsare the universal parameters for the KZG10 scheme.