Skip to content

Releases: TaceoLabs/co-snarks

ultrahonk: v0.4.0

20 Feb 15:17
Compare
Choose a tag to compare

0.4.0 (2025-02-19)

⚠ BREAKING CHANGES

  • adapt prover and verifier to BB 0.72.1
  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2
  • a lot of APIs and types changed
  • add RAM operations on shared indices (#314)
  • Move poseidon2 from ultrahonk to mpc-core
  • Adapt the ultrahonk mpc prover to also have the lookup related
  • Bump Nargo to version v1.0.0-beta.1

Features

  • adapt prover and verifier to BB 0.72.1 (2cc64ec)
  • Adapt the ultrahonk mpc prover to also have the lookup related (126fd57)
  • add RAM operations on shared indices (#314) (c3367a5)
  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2 (8a466df)
  • Bump Nargo to version v1.0.0-beta.1 (2e0a307)
  • Move poseidon2 from ultrahonk to mpc-core (380fc4d)

Code Refactoring

  • co-noir lib usability improvents, added lib usage examples (18e644e)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • co-builder bumped from 0.2.0 to 0.3.0
      • mpc-core bumped from 0.7.0 to 0.8.0

mpc-net: v0.3.0

20 Feb 15:17
Compare
Choose a tag to compare

0.3.0 (2025-02-19)

⚠ BREAKING CHANGES

  • a lot of APIs and types changed
  • ChannelHandle no longer takes &mut self on send/recv methods, but now just takes &self (#303)

Code Refactoring

  • ChannelHandle no longer takes &mut self on send/recv methods, but now just takes &self (#303) (538b89e)
  • co-circom lib usability improvents, added lib usage examples (5768011)

mpc-core: v0.8.0

20 Feb 15:17
Compare
Choose a tag to compare

0.8.0 (2025-02-19)

⚠ BREAKING CHANGES

  • optimize radix sort to take private and public inputs, such that public inputs do not have to be decomposed/bitinjected (#319)
  • a lot of APIs and types changed
  • compressed inputs shares are no longer supported, only compressed witness shares are allowed
  • add RAM operations on shared indices (#314)
  • Add rep3 and shamir implementations of poseidon2 to mpc-core
  • Move poseidon2 from ultrahonk to mpc-core
  • Add extra functionality to rewrite the lookup_read_counts_tags to shared LUTs
  • Changed the interface of LookupTableProvider trait.
  • implemented bitwise_and, bitwise_xor and bitwise_not in the

Features

  • add binary division in gc (1e00651)
  • Add blackbox_poseidon2 handling to co-noir (3c2e811)
  • Add extra functionality to rewrite the lookup_read_counts_tags to shared LUTs (6fc80f7)
  • Add lookup table based on MAESTRO to the MPC core (#307) (2eb6916)
  • Add Merkle tree implemenations using Poseidon2 (08b26a8)
  • Add more poseidon2 instances (t=2, t=3, t=4) (70b389e)
  • Add MPC functionality to slice a shared value (595e33b)
  • Add packed rep3 version of poseidon2 (027782f)
  • Add packed shamir version of poseidon2 (3ca7426)
  • Add possibility to lazily initialize constants in garbled circuits to only send them once (a0e0086)
  • add public/shared int division (4286c6a)
  • add RAM operations on shared indices (#314) (c3367a5)
  • Add rep3 and shamir implementations of poseidon2 to mpc-core (0939053)
  • add shared/public int division (d1d2121)
  • add shared/shared to co-brillig (b54b4ee)
  • better network handling in poseidon bench binary (5334f6f)
  • Bridge the co-builder and adapted proving-key generation and fix (9df797b)
  • Cleanup the mpc-core and builder after shared LUT integration (a691090)
  • Extend ROM access for coNoir to the MPC setting of having shared indices (c50809e)
  • implemented bitwise_and, bitwise_xor and bitwise_not in the (57b8fef)
  • Move poseidon2 from ultrahonk to mpc-core (380fc4d)
  • optimize radix sort to take private and public inputs, such that public inputs do not have to be decomposed/bitinjected (#319) (bd1b6b4)
  • Starting to adapt the co-builder for handling shared LUTs (5fda228)
  • to_radix for public radix (8ccd753)
  • to_radix for public val/shared radix (540780b)

Bug Fixes

  • enable parallelization for poseidon merkle tree implementations (fde2704)
  • Fix a bug preventing constants from being used in garbled circuits. TODO: Adapt the division circuits to use constants whenever possible (9d1b4d3)
  • Fix a bug with shifting BigUints in Range constraints (#318) (06c114a)

Code Refactoring

  • co-circom lib usability improvents, added lib usage examples (5768011)
  • input shares are always rep3 and not compressed (e760ec0)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • mpc-net bumped from 0.2.1 to 0.3.0

co-ultrahonk: v0.4.0

20 Feb 15:17
Compare
Choose a tag to compare

0.4.0 (2025-02-19)

⚠ BREAKING CHANGES

  • adapt prover and verifier to BB 0.72.1
  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2
  • a lot of APIs and types changed
  • add RAM operations on shared indices (#314)
  • Move poseidon2 from ultrahonk to mpc-core
  • Adapt the ultrahonk mpc prover to also have the lookup related
  • Bump Nargo to version v1.0.0-beta.1

Features

  • adapt prover and verifier to BB 0.72.1 (2cc64ec)
  • Adapt the construct_lookup_read_counts for private lookup tables (89bc455)
  • Adapt the ultrahonk mpc prover to also have the lookup related (126fd57)
  • add generating recursive friendly vk; rename stuff to match bb (6913f52)
  • add possibility to generate recursive proofs (ffc8ac4)
  • add RAM operations on shared indices (#314) (c3367a5)
  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2 (8a466df)
  • Bump Nargo to version v1.0.0-beta.1 (2e0a307)
  • Move poseidon2 from ultrahonk to mpc-core (380fc4d)

Bug Fixes

  • Fix splitting/reading proving key in co-noir binary (df6a658)

Code Refactoring

  • co-noir lib usability improvents, added lib usage examples (18e644e)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • co-acvm bumped from 0.4.0 to 0.5.0
      • co-builder bumped from 0.2.0 to 0.3.0
      • mpc-core bumped from 0.7.0 to 0.8.0
      • ultrahonk bumped from 0.3.0 to 0.4.0

co-plonk: v0.6.0

20 Feb 15:16
Compare
Choose a tag to compare

0.6.0 (2025-02-19)

⚠ BREAKING CHANGES

  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2
  • a lot of APIs and types changed
  • a lot of APIs and types changed

Features

  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2 (8a466df)

Code Refactoring

  • co-circom lib usability improvents, added lib usage examples (5768011)
  • co-noir lib usability improvents, added lib usage examples (18e644e)

Dependencies

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

co-noir: v0.5.0

20 Feb 15:17
Compare
Choose a tag to compare

0.5.0 (2025-02-19)

⚠ BREAKING CHANGES

  • adapt prover and verifier to BB 0.72.1
  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2
  • a lot of APIs and types changed
  • add RAM operations on shared indices (#314)
  • Adapt the ultrahonk mpc prover to also have the lookup related
  • implemented bitwise_and, bitwise_xor and bitwise_not in the
  • Bump Nargo to version v1.0.0-beta.1

Features

  • adapt compare_MPC to include blackbox_and/xor (1556e71)
  • adapt prover and verifier to BB 0.72.1 (2cc64ec)
  • Adapt the ultrahonk mpc prover to also have the lookup related (126fd57)
  • add command to download a CRS with a given number of points to the co-noir binary (#301) (3b7b562)
  • add generating recursive friendly vk; rename stuff to match bb (6913f52)
  • Add poseidon2 testcases (with and without blackbox function) (6ed485e)
  • add possibility to generate recursive proofs (ffc8ac4)
  • add RAM operations on shared indices (#314) (c3367a5)
  • Add RAM operations to plain coNoir (2045471)
  • add shamir proving testcase for bb_poseidon2 (4cfff0e)
  • Add testcase for blackbox and/not/xor (3444851)
  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2 (8a466df)
  • Bump Nargo to version v1.0.0-beta.1 (2e0a307)
  • Extend ROM access for coNoir to the MPC setting of having shared indices (c50809e)
  • implemented bitwise_and, bitwise_xor and bitwise_not in the (57b8fef)
  • test case with diff. uints (4362304)

Bug Fixes

  • Fix a bug with shifting BigUints in Range constraints (#318) (06c114a)
  • Fix splitting/reading proving key in co-noir binary (df6a658)
  • no longer measure quinn network shutdown (3fc63dd)

Code Refactoring

  • co-noir lib usability improvents, added lib usage examples (18e644e)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • co-acvm bumped from 0.4.0 to 0.5.0
      • co-ultrahonk bumped from 0.3.0 to 0.4.0
      • mpc-core bumped from 0.7.0 to 0.8.0
      • mpc-net bumped from 0.2.1 to 0.3.0

co-groth16: v0.8.0

20 Feb 15:16
Compare
Choose a tag to compare

0.8.0 (2025-02-19)

⚠ BREAKING CHANGES

  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2
  • a lot of APIs and types changed

Features

  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2 (8a466df)

Code Refactoring

  • co-circom lib usability improvents, added lib usage examples (5768011)

Dependencies

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

co-circom: v0.8.0

20 Feb 15:16
Compare
Choose a tag to compare

0.8.0 (2025-02-19)

⚠ BREAKING CHANGES

  • a lot of APIs and types changed
  • a lot of APIs and types changed
  • compressed inputs shares are no longer supported, only compressed witness shares are allowed

Features

  • Add bencher for rep3/shamir implementations of poseidon2 to co-circom (e1800dc)
  • Add Merkle trees to poseidon2 bench file (106c5b1)
  • Add packed rep3 version of poseidon2 (027782f)
  • Add packed shamir version of poseidon2 (3ca7426)
  • better network handling in poseidon bench binary (5334f6f)
  • make check on zkey opt in with config value (#297) (adf29eb)

Bug Fixes

  • dont iter over split_witness Result instead of shares, removed Result from ret type (e19276b)
  • no longer measure quinn network shutdown (3fc63dd)
  • poseidon_bench only runs rep3 if num_parties == 3 (fb55791)

Code Refactoring

  • co-circom lib usability improvents, added lib usage examples (5768011)
  • co-noir lib usability improvents, added lib usage examples (18e644e)
  • input shares are always rep3 and not compressed (e760ec0)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • circom-mpc-compiler bumped from 0.8.0 to 0.9.0
      • circom-mpc-vm bumped from 0.6.0 to 0.7.0
      • circom-types bumped from 0.7.0 to 0.8.0
      • co-circom-snarks bumped from 0.3.0 to 0.4.0
      • co-groth16 bumped from 0.7.0 to 0.8.0
      • co-plonk bumped from 0.5.0 to 0.6.0
      • mpc-core bumped from 0.7.0 to 0.8.0
      • mpc-net bumped from 0.2.1 to 0.3.0

co-circom-snarks: v0.4.0

20 Feb 15:16
Compare
Choose a tag to compare

0.4.0 (2025-02-19)

⚠ BREAKING CHANGES

  • a lot of APIs and types changed
  • compressed inputs shares are no longer supported, only compressed witness shares are allowed

Code Refactoring

  • co-circom lib usability improvents, added lib usage examples (5768011)
  • input shares are always rep3 and not compressed (e760ec0)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • circom-types bumped from 0.7.0 to 0.8.0
      • mpc-core bumped from 0.7.0 to 0.8.0

co-builder: v0.3.0

20 Feb 15:17
Compare
Choose a tag to compare

0.3.0 (2025-02-19)

⚠ BREAKING CHANGES

  • adapt prover and verifier to BB 0.72.1
  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2
  • optimize radix sort to take private and public inputs, such that public inputs do not have to be decomposed/bitinjected (#319)
  • a lot of APIs and types changed
  • add RAM operations on shared indices (#314)
  • Move poseidon2 from ultrahonk to mpc-core
  • Add extra functionality to rewrite the lookup_read_counts_tags to shared LUTs
  • Adapt the ultrahonk mpc prover to also have the lookup related
  • implemented bitwise_and, bitwise_xor and bitwise_not in the
  • Bump Nargo to version v1.0.0-beta.1

Features

  • adapt prover and verifier to BB 0.72.1 (2cc64ec)
  • Adapt the construct_lookup_read_counts for private lookup tables (89bc455)
  • Adapt the ultrahonk mpc prover to also have the lookup related (126fd57)
  • Add bitwise blackbox functions to the acir_format parser (db1e449)
  • Add blackbox_poseidon2 handling to co-noir (3c2e811)
  • add command to download a CRS with a given number of points to the co-noir binary (#301) (3b7b562)
  • Add extra functionality to rewrite the lookup_read_counts_tags to shared LUTs (6fc80f7)
  • add generating recursive friendly vk; rename stuff to match bb (6913f52)
  • add possibility to generate recursive proofs (ffc8ac4)
  • add RAM operations on shared indices (#314) (c3367a5)
  • Add RAM operations to plain coNoir (2045471)
  • ark to 0.5.0, co-noir witext works with 1.0.0-beta.2 (8a466df)
  • Bridge the co-builder and adapted proving-key generation and fix (9df797b)
  • Bump Nargo to version v1.0.0-beta.1 (2e0a307)
  • Cleanup the mpc-core and builder after shared LUT integration (a691090)
  • Extend ROM access for coNoir to the MPC setting of having shared indices (c50809e)
  • Fixes and cleanup in shared LUTs (59ac86e)
  • handle different num_bits (2d545ab)
  • implement one lookup_acc case (e91ffe1)
  • implemented bitwise_and, bitwise_xor and bitwise_not in the (57b8fef)
  • Modify co-builder to allow logic constraints (only working in plain so far) (1115986)
  • move batch decompose into a separate fct (f02fd38)
  • Move poseidon2 from ultrahonk to mpc-core (380fc4d)
  • optimize radix sort to take private and public inputs, such that public inputs do not have to be decomposed/bitinjected (#319) (bd1b6b4)
  • replace getting table index from LUT with calculating it from keys (4e45372)
  • Starting to adapt the co-builder for handling shared LUTs (5fda228)
  • works for unique num_bits (4249c3f)

Bug Fixes

  • Fix a bug with shifting BigUints in Range constraints (#318) (06c114a)
  • Fix splitting/reading proving key in co-noir binary (df6a658)
  • replace Hashmap with BTreeMap in circuit parsing of coNoir to make circuits deterministic. BB is not deterministic here... (dee0972)

Code Refactoring

  • co-noir lib usability improvents, added lib usage examples (18e644e)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • co-acvm bumped from 0.4.0 to 0.5.0
      • mpc-core bumped from 0.7.0 to 0.8.0