You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #498 added fflonk and shplonk batched commitment verification. As it is still experimental package then we left some issues unresolved for now:
Use the polynomial package. It already has some methods implemented what we need and makes it imo relevant. Otherwise we copy-paste methods all over. And I think it also makes it nicer if we have []polynomial.Polynomial instead of [][]fr.Element etc.
our implementation currently doesn't match the paper as we don't compute the n-th roots, but instead for given input we assume the input to be x^n and then take the corresponding roots. But in practice we have smooth modulus (2^n * other factors), so can use successive square roots. And because we code generate, then we can generate the full chain directly.
instead of using []fr.Element for points in shplonk, we could define a structure a la struct Points { Pts []fr.Element, Shape shplonk.PointShape}. Depending on the shape of the points (they are roots of unity, or some known powers etc.) we can have different approaches for polynomial multiplication etc.
PR #498 added fflonk and shplonk batched commitment verification. As it is still experimental package then we left some issues unresolved for now:
[]polynomial.Polynomial
instead of[][]fr.Element
etc.x^n
and then take the corresponding roots. But in practice we have smooth modulus (2^n * other factors
), so can use successive square roots. And because we code generate, then we can generate the full chain directly.cc @ThomasPiellard
The text was updated successfully, but these errors were encountered: