v0.8.0
What's Changed
New features
- Non-native field emulation by @ivokub in #302
- FRI proximity proofs by @ThomasPiellard in #321
- KZG verifier by @yelhousni in #307
- GKR by @Tabaie in #393 (API --> #443)
- ECDSA signature verification by @ivokub in #372
- keccak-f permutation function by @ivokub in #401
- Add support for BLS24-317 by @yelhousni in #310
Circuit API
gnark
tools
Performance
- Allocate less in test engine by @ivokub in #331
- Add debug.SymbolTable into constraint system for storage efficiency of debug info by @gbotrel in #421
api.IsZero
generate less constraints by @gbotrel in #356- Optimize bn254/groth16 solidity verifier. by @citizen-stig in #376
- Compress linear expression by @ivokub in #418
- Add constraint package and improve memory management in frontend by @gbotrel in #412
Refactor & consolidate
- Clean up witness package, introduces clean
witness.Witness
interface by @gbotrel in #450 - Add cs.GetConstraint with examples, and pretty printer helpers by @gbotrel in #452
- Serialization header to CS and debug info to all constraints with -tags=debug by @gbotrel in #347
- Compile(ecc.ID) -> Compile(field *big.Int) by @gbotrel in #328
- std/math/nonnative -> std/math/emulated by @gbotrel in #345
- Kill
api.Tag
andapi.Counter
by @gbotrel in #353 - A field element is always in Montgomery form and big.Ints are always non-Mont by @Tabaie in #422
- Re-write PlonK backend to use
gnark-crypto/iop
by @ThomasPiellard in #451
Fixes
- Fix Or && Xor by @liyue201 in #355
- Fix/xor cst var plonk by @ThomasPiellard in #383
- Mark output of AND in R1CS as boolean by @ivokub in #459
- Handle recursive hints in level builder by @gbotrel in #441
- fix #442: use
reflectwalk
to walk through circuit structures without building aSchema
by @gbotrel in #444 - MiMC on BLS12-377 / number of rounds by @yelhousni in #453
- Fix MiMC interface by @Tabaie in #454 #469
New Contributors
- @tinywell made their first contribution in #339
- @Tabaie made their first contribution in #362
- @omahs made their first contribution in #360
- @liyue201 made their first contribution in #355
- @citizen-stig made their first contribution in #376
- @aybehrouz made their first contribution in #470
Full Changelog: v0.7.1...v0.8.0