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

v0.4.0: Experimental PlonK support and user documentation #94

Merged
merged 144 commits into from Apr 29, 2021
Merged

Conversation

gbotrel
Copy link
Collaborator

@gbotrel gbotrel commented Apr 29, 2021

v0.4.0 milestone.

In particular, this PR adds:


Release notes:

v0.4.0

Docs

Feat

  • gnarkd: exposing gnark APIs through RPCs (#54)
  • PlonK: adding functionality to convert a constraint system to PlonK constraints (#56)
  • PlonK: added experimental support for PlonK backend

Fix

  • inverse and div in frontend had some variable ID offset issues (#62)
  • cs.Println doesn't trigger panic anymore
  • Split S in EdDSA signature to prevent overflow #88
  • fft: fixed the ordering of cosets factor according to DIF/DIT

Groth16

  • VerifyingKey data structure change to ensure compatibility with other impl and Solidity in Ethereum. Serialization format change.

Integration_test

  • added witness serialization tests

Refactor

  • gurvy -> gnark-crypto
  • moved fft in gnark-crypto
  • bn256 -> bn254, bls377 -> bls12-377, etc. following gnark-crypto v0.4.0
  • removed the Curve field in the R part of eddsa signature

Test

  • added frontend and backend fuzz.go, go-fuzz compatible format
  • added cs.Println must not panic base test

Build

  • moved solidity integration tests in github.com/consensys/gnark-tests
  • added integration fuzz test in backend/groth16/fuzz_test.go

gbotrel and others added 30 commits January 4, 2021 15:27
…ith other impl and Solidity in Ethereum. Serialization format change.
…g testing accross curves for curved-typed circuits
… zero, 0 otherwise, it was reversed previously)
Addition of Or,And constraint, plus a specific constraint checking if a value is zero
…d APIs now take []fr.Element instead of map[string]interface{}
gbotrel and others added 26 commits April 2, 2021 17:29
docs: updated package level godoc
docs: added comments for the splitting of S in eddsa
Updated FFT calls in `backend/groth16` to avoid bit reverse operation at proving time
@gbotrel gbotrel added this to the v0.4.0 milestone Apr 29, 2021
@gbotrel gbotrel marked this pull request as ready for review April 29, 2021 16:18
@gbotrel gbotrel merged commit cc10c32 into master Apr 29, 2021
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