icicle
icicle copied to clipboard
[FEAT]: KZG openings
Description
Currently we don't have the functionality to open committed polynomials at arbitrary points.
Motivation
In Danksharding, KZG openings are performed at specific carefully chosen points, which makes these openings easier than in the general case. But for many protocols, like general-purpose ZK-SNARKs, KZG openings at arbitrary points are required, and we'll need to support them in the future.
Note: there are two versions of openings: if polynomial is given by its coefficients, the opening is done by Horner's rule and committing to the quotient, and if polynomial is in the evaluation form, dividing by the evaluations of monomial and computing the MSM afterwards is required.