Consensys / gnark

gnark is a fast zk-SNARK library that offers a high-level API to design circuits. The library is open source and developed under the Apache 2.0 license
https://hackmd.io/@gnark
Apache License 2.0
1.38k stars 356 forks source link

Support PLONK #52

Closed SherLzp closed 3 years ago

SherLzp commented 3 years ago

PLONK is a new zk-snarks algorithm, which is based on Sonic. It can realize SRS (no longer need to generate CRS for each circuit separately), and it is very practical compared to Sonic. Can we modify gnark to support PLONK? I want to make some contributions to the project, so I have the following issues:

gbotrel commented 3 years ago

Hello,

@ThomasPiellard is currently working on making the frontend compatible with both Groth16 and PLONK arithmetizations.

Once that is done (PR likely coming in 2-3 weeks), we will see how to proceed for next steps, happy to ping you here if you want to participate.

gbotrel commented 3 years ago

@SherLzp if you are interested to contribute to PLONK in particular, one thing you could implement independently of the frontend/ is the Kate commitments part. We have that on our backlog in about a month from now, but if you're willing to contribute a first version to the repo that could help gnark support PLONK sooner.

SherLzp commented 3 years ago

@gbotrel Thanks for reply! I will try my best.

gbotrel commented 3 years ago

@SherLzp hi :) did you have time to work on that the past weeks?

SherLzp commented 3 years ago

@gbotrel Sorry for that, I'm recently working on a paper. I expected it to start in early March.