Releases: TaceoLabs/co-snarks
Releases · TaceoLabs/co-snarks
ultrahonk: 0.2.0
0.2.0 (2024-11-12)
⚠ BREAKING CHANGES
- Move builder to new co-builder crate
- The interface of the UltraCircuitVariable trait has change. Thus, also ProvingKey::create() throws an error now.
- co-noir now stores shared inputs in a different format (
BTreeMap<String, Rep3AcvmType>
instead ofBTreeMap<String, Rep3PrimeFieldShare>
) - The produced proofs are now different due to new transcript handling in bb 0.55.1, and they are no longer backwards compatible.
Features
- Replace a panic from the ultracircuitbuilder with an Error (#217) (5d9c870)
- Update UltraHonk to BB v0.62.0, required to replace zeromorph with shplemini (#251) (f35cdd4)
- Upgrade UltraHonk to be compatible with Barretenberg v0.55.1 (#211) (f817d76)
Bug Fixes
Code Refactoring
- Move builder to new co-builder crate (3cd8955)
mpc-net: v0.2.0
0.2.0 (2024-11-12)
⚠ BREAKING CHANGES
- MpcNetworkHandler::establish now takes the config with already read certs and key.
- Refactor to better handle new networking with forks
Bug Fixes
- add gracefull shutdown ensure all data received from the quinn stack (a9cbcbf)
- fixed read task breaking too early, caused error during proof gen (6a8e829)
- install rustls default crypto provider in our main binaries & examples (#238) (78757e4)
- now quinn server timeouts after 60 seconds (#256) (cbc5905)
Code Refactoring
mpc-core: v0.6.0
0.6.0 (2024-11-12)
⚠ BREAKING CHANGES
- serialization format of shared inputs has changed to allow for optional values used to indicate missing elements of an array
- Use ACVMType in co-builder
- Creating a Rep3Witnessextension now requires an additional argument, the A2B strategy
- breaks all interfaces. Removed Rep3Protocol monster struct. Added IOContext and split rep3/shamir better. Removed duplicated code. Added naive LUT
Features
- Add a garbled circuit based soritng algorithm (#252) (7d38334)
- add a selector for choosing a2b and b2a implementations and expose (bf12246)
- Add functionality to decompose a shared fieldelement with yao (3d7a37d)
- Add Rep3 compatible garbled circuit implementations and conversion methods for a2y, y2a, b2y, y2b, a2y2b, and b2y2a. (#233) (12c8713)
- add support for merging input arrays (#260) (2c72231)
- added conversions a<->b (d1c806c)
- added new rep3 impl (d9b8412)
- added plain prover shorthand function (b365fcd)
- bit_inject_many (4155f57)
- make yao the default for a2b (b91e4ac)
- optimize arithmetic::is_zero() to have less communication rounds (dc4152c)
- optimize bit_inject and bit_inject many (7fb2fee)
- Optimize shamir double randomnes generation using seeds (#214) (f6ad386)
- prepare functions for compressed rep3 sharing (55bef10)
- rewrite all mpc related functions (ed8fcb7)
- unify the 3-party and n-party shamir double-randomness generation case (b4d4141)
- Update UltraHonk to BB v0.62.0, required to replace zeromorph with shplemini (#251) (f35cdd4)
Bug Fixes
- add gracefull shutdown ensure all data received from the quinn stack (a9cbcbf)
- change shamir preprocessing time log to float (#249) (c4c6a73)
- fix a bug in y2b, send the correct values around (564d498)
- fixed read task breaking too early, caused error during proof gen (6a8e829)
Code Refactoring
- Use ACVMType in co-builder (e078c22)
Dependencies
- The following workspace dependencies were updated
- dependencies
- mpc-net bumped from 0.1.2 to 0.2.0
- dependencies
co-ultrahonk: v0.2.0
0.2.0 (2024-11-12)
⚠ BREAKING CHANGES
- Add more commands to co-noir binary to prepare for cases where
- Use ACVMType in co-builder
- Move builder to new co-builder crate
- removed point G2 from ultra-honk prover
- The interface of the UltraCircuitVariable trait has change. Thus, also ProvingKey::create() throws an error now.
- The produced proofs are now different due to new transcript handling in bb 0.55.1, and they are no longer backwards compatible.
Features
- Add more commands to co-noir binary to prepare for cases where (268ebe9)
- Replace a panic from the ultracircuitbuilder with an Error (#217) (5d9c870)
- squashed commit of co-noir (b132afc)
- Update UltraHonk to BB v0.62.0, required to replace zeromorph with shplemini (#251) (f35cdd4)
- Upgrade UltraHonk to be compatible with Barretenberg v0.55.1 (#211) (f817d76)
Code Refactoring
- Move builder to new co-builder crate (3cd8955)
- removed point G2 from ultra-honk prover (1840fb4)
- Use ACVMType in co-builder (e078c22)
Dependencies
- The following workspace dependencies were updated
- dependencies
- co-acvm bumped from 0.2.0 to 0.3.0
- mpc-core bumped from 0.5.0 to 0.6.0
- ultrahonk bumped from 0.1.0 to 0.2.0
- dependencies
co-plonk: 0.4.0
0.4.0 (2024-11-12)
⚠ BREAKING CHANGES
- the prover for Groth16/Plonk now expects an Arc. Cleaner than having multiple Arcs in ZKey
- now uses new mpc-core and forked networking but NO rayon
Features
Code Refactoring
- prove for circom now expect Arc (c2ac465)
Dependencies
- The following workspace dependencies were updated
- dependencies
- circom-types bumped from 0.5.0 to 0.6.0
- co-circom-snarks bumped from 0.1.2 to 0.2.0
- mpc-net bumped from 0.1.2 to 0.2.0
- mpc-core bumped from 0.5.0 to 0.6.0
- dependencies
co-noir: 0.3.0
0.3.0 (2024-11-12)
⚠ BREAKING CHANGES
- Add more commands to co-noir binary to prepare for cases where
- co-noir adapted to ACVMType instead of sharedbuildervariable
- Use ACVMType in co-builder
- MpcNetworkHandler::establish now takes the config with already read certs and key.
- The interface of the UltraCircuitVariable trait has change. Thus, also ProvingKey::create() throws an error now.
- co-noir now stores shared inputs in a different format (
BTreeMap<String, Rep3AcvmType>
instead ofBTreeMap<String, Rep3PrimeFieldShare>
) - The produced proofs are now different due to new transcript handling in bb 0.55.1, and they are no longer backwards compatible.
Features
- Add more commands to co-noir binary to prepare for cases where (268ebe9)
- Do not use the builder in co-noir split witness (d304986)
- Replace a panic from the ultracircuitbuilder with an Error (#217) (5d9c870)
- squashed commit of co-noir (b132afc)
- Update UltraHonk to BB v0.62.0, required to replace zeromorph with shplemini (#251) (f35cdd4)
- Upgrade UltraHonk to be compatible with Barretenberg v0.55.1 (#211) (f817d76)
Bug Fixes
- Adapt co-noir binary to handle public noir inputs correctly (#216) (bed3996)
- install rustls default crypto provider in our main binaries & examples (#238) (78757e4)
Code Refactoring
- co-noir adapted to ACVMType instead of sharedbuildervariable (e6518a7)
- split network config into two types (dca1756)
- Use ACVMType in co-builder (e078c22)
Dependencies
- The following workspace dependencies were updated
- dependencies
- co-acvm bumped from 0.2.0 to 0.3.0
- co-ultrahonk bumped from 0.1.0 to 0.2.0
- mpc-core bumped from 0.5.0 to 0.6.0
- mpc-net bumped from 0.1.2 to 0.2.0
- dependencies
co-groth16: 0.6.0
0.6.0 (2024-11-12)
⚠ BREAKING CHANGES
- 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)
- prepare functions for compressed rep3 sharing (55bef10)
- refactors all according to MPC-core + Rayon (44a5d2d)
Code Refactoring
- make pointshare in Groth16 MPC trait generic over the curve (dc5acd2)
- prove for circom now expect Arc (c2ac465)
- with_network_config for ShamirGroth16 doesn't need zkey anymore (2052d89)
Dependencies
- The following workspace dependencies were updated
- dependencies
- circom-types bumped from 0.5.0 to 0.6.0
- co-circom-snarks bumped from 0.1.2 to 0.2.0
- mpc-core bumped from 0.5.0 to 0.6.0
- mpc-net bumped from 0.1.2 to 0.2.0
- dependencies
co-circom: 0.6.0
0.6.0 (2024-11-12)
⚠ BREAKING CHANGES
- serialization format of shared inputs has changed to allow for optional values used to indicate missing elements of an array
- MPC accelerator changed public API. Also now stores #output signals in component
- input to compiler now takes PathBuf
- run and run_with_flat methods on WitnessExtension now consume self again
- MpcNetworkHandler::establish now takes the config with already read certs and key.
- 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 serialized format of shares is now different.
- Refactor calls to other crates because of API changes
Features
- add support for merging input arrays (#260) (2c72231)
- Add the possibility to share co-circom inputs and witness in compressed form (c3443e1)
- added run_and_get_network to CircomRep3VmWitnessExtension, changed run and run_with_flat back to consume self (b362504)
- allow to set circom simplification level via CLI (b0d64ba)
- can now parse bool inputs (#236) (d0147b6)
- num2bits accelerator working (13cdf10)
Bug Fixes
- fixed path in zkey benches (#231) (99ab2de)
- handle inputs that are >= mod in the same way as snarkjs (76f701b)
- install rustls default crypto provider in our main binaries & examples (#238) (78757e4)
Code Refactoring
- input to compiler now takes PathBuf (9f36774)
- prove for circom now expect Arc (c2ac465)
- Refactor calls to other crates because of API changes (6ed7c1a)
- split network config into two types (dca1756)
- with_network_config for ShamirGroth16 doesn't need zkey anymore (2052d89)
Dependencies
- The following workspace dependencies were updated
- dependencies
- circom-mpc-compiler bumped from 0.6.1 to 0.7.0
- circom-mpc-vm bumped from 0.4.2 to 0.5.0
- circom-types bumped from 0.5.0 to 0.6.0
- co-circom-snarks bumped from 0.1.2 to 0.2.0
- co-groth16 bumped from 0.5.1 to 0.6.0
- co-plonk bumped from 0.3.1 to 0.4.0
- mpc-core bumped from 0.5.0 to 0.6.0
- mpc-net bumped from 0.1.2 to 0.2.0
- dependencies
co-circom-snarks: v0.2.0
0.2.0 (2024-11-12)
⚠ BREAKING CHANGES
- serialization format of shared inputs has changed to allow for optional values used to indicate missing elements of an array
- refactor API because of changes in other crates
Features
- add support for merging input arrays (#260) (2c72231)
- prepare functions for compressed rep3 sharing (55bef10)
Code Refactoring
- refactor API because of changes in other crates (a58d8f1)
Dependencies
- The following workspace dependencies were updated
- dependencies
- circom-types bumped from 0.5.0 to 0.6.0
- mpc-core bumped from 0.5.0 to 0.6.0
- dependencies
co-builder: v0.1.0
0.1.0 (2024-11-12)
⚠ BREAKING CHANGES
- Add more commands to co-noir binary to prepare for cases where
- Use ACVMType in co-builder
- Move builder to new co-builder crate
Features
- Add more commands to co-noir binary to prepare for cases where (268ebe9)
Code Refactoring
Dependencies
- The following workspace dependencies were updated
- dependencies
- co-acvm bumped from 0.2.0 to 0.3.0
- mpc-core bumped from 0.5.0 to 0.6.0
- dependencies