Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fflonk and shplonk improvements #550

Open
5 tasks
ivokub opened this issue Oct 8, 2024 · 0 comments
Open
5 tasks

fflonk and shplonk improvements #550

ivokub opened this issue Oct 8, 2024 · 0 comments
Labels
cleanup Suggestion to clean up the code consolidate strengthen an existing feature

Comments

@ivokub
Copy link
Collaborator

ivokub commented Oct 8, 2024

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.
  • add marshal roundtrip tests
  • add gopter tests

cc @ThomasPiellard

@ivokub ivokub added cleanup Suggestion to clean up the code consolidate strengthen an existing feature labels Oct 8, 2024
@ivokub ivokub mentioned this issue Oct 8, 2024
14 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup Suggestion to clean up the code consolidate strengthen an existing feature
Projects
None yet
Development

No branches or pull requests

1 participant