Skip to content

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.

3 participants