Skip to content

collaborative-circom: v0.3.0

Compare
Choose a tag to compare
@taceo-bot taceo-bot released this 14 Aug 09:45
a4d2382

0.3.0 (2024-08-14)

⚠ BREAKING CHANGES

  • to unify Groth16 and PLONK we now take the zkey as ref in PLONK when calling prove
  • moved common code for PLONK and Groth16 into separate crate. Most notably the SharedWitness and SharedInput
  • PLONK uses the witness struct, therefore we moved it from Groth16 to one level higher
  • we hide the modules defining the zkey, proof, vk, and witness and use pub use the re-export them
  • the verifier (and the arkwork dep) is now hidden behind the "verifier" feature. Also we refactored some stuff in Groth16 to mirror PLONK.
  • Add Plonk to the co-circom binary (#147)
  • groth16 zkey parsing is now multithreaded, added multithreaded g1/2_vec_from_reader
  • share_rep3 and share_shamir interfaces changed
  • new config implementation, config option to allow leaking of secret values in logs (#132)
  • Adds a method to the ArkworksPairingBridge trait
  • the function signature of the two run methods of the witness extension now changed. To retrieve the shared witness now another call into_shared_witness() is necessary.
  • Add the possibility to specify another curve in the co-circom binary
  • Add possibility to use Shamir secret sharing for proofing and

Features

  • add deserialization of plonk circom types (d1f0d4d)
  • Add Plonk to the co-circom binary (#147) (ff05a2e)
  • Add possibility to use Shamir secret sharing for proofing and (6205475)
  • Add runtime information to the co-circom binary (84f2c6d)
  • Add the possibility to specify another curve in the co-circom binary (fdd6bf2)
  • can now retrieve certain outputs after witness extension by name (d9e3399)
  • groth16 zkey parsing is now multithreaded, added multithreaded g1/2_vec_from_reader (b1e46f7)
  • now co-circom supports hex values (d004d10)
  • plonk support (9b65797)

Bug Fixes

  • updated bench-co-circom for new config and plonk proof system (#160) (5722928)

Code Refactoring

  • added new crate co-circom-snarks (ea3190f)
  • Added verifier feature for Groth16 (489614c)
  • move the groth16 circom types (fabc5e7)
  • moved the witness struct (9cee70b)
  • new config implementation, config option to allow leaking of secret values in logs (#132) (964b04f)
  • PLONK now takes zkey as ref for prove (6f613e6)
  • share_rep3 and share_shamir interfaces changed (5e7420f)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • circom-mpc-compiler bumped from 0.3.0 to 0.4.0
      • circom-mpc-vm bumped from 0.2.0 to 0.3.0
      • circom-types bumped from 0.3.0 to 0.4.0
      • collaborative-groth16 bumped from 0.2.1 to 0.3.0
      • mpc-core bumped from 0.2.1 to 0.3.0