Summary
The PolynomialCommitment trait is a little cumbersome with all the wrapper types.
See if we can simplify the trait and then implement it for all schemes. Some ideas:
See also jellyfish PCS trait, although the Espresso traits aren't as generic as they are mostly tailored for KZG.
@alxiong
For Admin Use
Summary
The
PolynomialCommitmenttrait is a little cumbersome with all the wrapper types.See if we can simplify the trait and then implement it for all schemes. Some ideas:
check->verify- there are a lot of name variations in the literature for the same algorithm, thoughcheckseems to be used less frequently.verifyis more intuitive IMO.LabeledPolynomialconstruction is cumbersome: introduce afromconversion onPolynomial<F>with some reasonable defaults, or:trimfunction, which would take the parameters from the max degree of all labeled polys we are working with.QuerySetfroma vector of (vectors of?) points. ConstructEvaluationsfromQuerySetand aVec<Polynomial>.ChallengeGeneratorautomatically? We know the sponge, and we know whether the poly is uni- or multi-variate, so this can be part of e.g. setup.See also jellyfish PCS trait, although the Espresso traits aren't as generic as they are mostly tailored for KZG.
@alxiong
For Admin Use