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

Feat/iop refactor #451

Merged
merged 25 commits into from Feb 9, 2023
Merged

Feat/iop refactor #451

merged 25 commits into from Feb 9, 2023

Conversation

ThomasPiellard
Copy link
Collaborator

@ThomasPiellard ThomasPiellard commented Jan 30, 2023

Refactoring of plonk backend using the iop package provided by gnark-crypto.

The various vectors used in the plonk backend are now of type iop.WrappedPolynomial from gnark-crypto. Technical issues such as monitoring the layout of the vectors (bit reversed vs regular), or encoding shifted polynomial (e.g. from Z(X) get Z(g X) ) are automatically managed in the most cost effective way.

The multivariate polynomial capturing the full constraint system (that is the individual constraints + the ordering) is now encoded as an iop.Expression which is just a function ...fr.Element -> fr.Element, making the code way easier to debug and cleaner.

@gbotrel gbotrel merged commit ac65069 into develop Feb 9, 2023
@gbotrel gbotrel deleted the feat/iop_refactor branch February 9, 2023 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants