Skip to content

co-groth16: 0.7.0

Compare
Choose a tag to compare
@dkales dkales released this 18 Dec 13:50
· 76 commits to main since this release
499e20a

0.7.0 (2024-12-16)

⚠ BREAKING CHANGES

  • Now the verify impls from groth16/plonk circom return an error indicating whether it was a success or not
  • Removed unnecessary parts of the zkey
  • changed the traits for circom bridge. Also modified the from_reader impl for the two Zkeys
  • Removes the zkey in the said function signature. We needed it earlier because we had to know domain size, which we now no longer need.
  • the prover for Groth16/Plonk now expects an Arc. Cleaner than having multiple Arcs in ZKey
  • the public interface of the Groth16MPCProver trait has changed.
  • refactors everything that all groth16 specific functionallity is not in MPC-core anymore.

Features

  • added plain prover shorthand function (b365fcd)
  • now can specify whether we want curve checks during zkey deser (e1c03f3)
  • prepare functions for compressed rep3 sharing (55bef10)
  • refactors all according to MPC-core + Rayon (44a5d2d)

Bug Fixes

  • added a check during groth16 prover for public inputs (76466eb)

Code Refactoring

  • make pointshare in Groth16 MPC trait generic over the curve (dc5acd2)
  • prove for circom now expect Arc<ZKey> (c2ac465)
  • Removed ark_relations deps. Also changed verify impls to not return bool but a common error (b4f4bf1)
  • Removed unnecessary parts of the zkey (0713260)
  • with_network_config for ShamirGroth16 doesn't need zkey anymore (2052d89)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • circom-types bumped from 0.6.0 to 0.7.0
      • co-circom-snarks bumped from 0.2.0 to 0.3.0
      • mpc-core bumped from 0.6.0 to 0.7.0
      • mpc-net bumped from 0.2.0 to 0.2.1