Skip to content

Releases: risc0/risc0

v1.0.1

05 Jun 03:05
79de616
Compare
Choose a tag to compare

🛠 Fixes

  • Fix issue with building CUDA kernels.

v1.0.0

04 Jun 20:16
f2d2781
Compare
Choose a tag to compare

🔥 Prover Performance Improvements

  • Witness generation has been parallelized by adding another preflight pass.
  • Improved performance by minimizing data transfers when constructing merkle proofs.
  • Parallelized step_verify_bytes function.
  • Changed eval_check to use precomputed powers for poly_mix.

🛠 Fixes

  • Fixed a bug with unaligned short read.
  • Commit globals in Fiat-Shamir transcript.
  • Fixed an undefined behavior warning generated by rust 1.77.2 in guest.
  • Addressed security vulnerabilities in the rv32im circuit.
  • Fix clippy warnings in all published crates.
  • Fix build issues arising from an undefined _end symbol.

⚡️ Features

  • Generalized proof composition.
  • Benchmarks have been improved.
  • A new web app that can be used to display datasheets, prover benchmarks, application benchmarks and supported crates.
  • Added the ability to compile Rust crates that bind to C code.
  • Added a new cargo risczero deploy command to deploy ELF binaries to bonsai.
  • ProverOpts now has a new ReceiptKind field. This is used to select the
    minimum compression level of receipt to be generated by the Prover and
    ProverServer traits. The kinds include composite (a receipt containing a
    vector of segment receipts), succinct (a receipt where all segments have been
    compressed into a single receipt via the lift and join recursion programs),
    and compact (a snark receipt generated by compressing a succinct receipt using
    a groth16 prover. This used for on-chain proving).
  • A compress function has been added to the Prover trait. This allows the users to more easily change receipts to a different kind in the host.
  • Rust's alloc_zeroed function has been optimized in the guest.
  • Export NullSegmentRef for use by host code.
  • Added a soundness error calculator.
  • Bonsai SDK: added a method used to download receipts.
  • Bonsai SDK: improved error messages.
  • Bonsai SDK: added a new API to stop a proving session in Bonsai.

🚨 Breaking Changes

  • Change sys_cycle_count to return a u64 instead of u32.

  • The Prover trait's prove() function now returns a ProveInfo. This struct
    contains the receipt as well as cycle and segment information gathered during
    the proof generation. The following is the definition of ProveInfo and
    SessionStats structs:

/// Information returned by the prover including receipt as well as other information useful for debugging
pub struct ProveInfo {
    /// receipt from the computation
    pub receipt: Receipt,
    /// stats about cycle counts of the execution
    pub stats: SessionStats,
}

/// Struct containing information about a prover's cycle count after running the guest program
pub struct SessionStats {
    /// Count of segments in this proof request
    pub segments: usize,
    /// Total cycles run within guest
    pub total_cycles: u64,
    /// User cycles run within guest
    pub user_cycles: u64,
}

For those upgrading from v0.21.0, the following code change is necessary on the host side to retrieve the receipt.

-   let receipt = prover.prove(env, BEVY_GUEST_ELF).unwrap();
+   let receipt = prover.prove(env, BEVY_GUEST_ELF).unwrap().receipt;

v1.0.0-rc.7

01 Jun 03:17
3afe053
Compare
Choose a tag to compare
v1.0.0-rc.7 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v1.0.0-rc.6...v1.0.0-rc.7

v1.0.0-rc.6

29 May 21:55
4d6e441
Compare
Choose a tag to compare
v1.0.0-rc.6 Pre-release
Pre-release

v1.0.0-rc.5

17 May 22:29
c5e3207
Compare
Choose a tag to compare
v1.0.0-rc.5 Pre-release
Pre-release

New Contributors

Full Changelog: v1.0.0-rc.4...v1.0.0-rc.5

v1.0.0-rc.4

10 May 22:18
dd49ff8
Compare
Choose a tag to compare
v1.0.0-rc.4 Pre-release
Pre-release

New Contributors

Full Changelog: v0.21.0...v1.0.0-rc.4

v1.0.0-rc.3

01 May 20:46
95fd72f
Compare
Choose a tag to compare
v1.0.0-rc.3 Pre-release
Pre-release

New Contributors

Full Changelog: v0.21.0...v1.0.0-rc.3

v0.21.0

12 Mar 16:55
02fad7a
Compare
Choose a tag to compare

🛠 Fixes

  • Fix an issue where the temporary directory is not being removed when the
    Session goes out of scope. This helps prevent the depletion of disk space.

  • Verification of groth16 receipts in rust that are compatible with Bonsai

⚡️ Features

  • Add an improved Poseidon2 hashing function that replaces Poseidon for recursive proofs.

🚨 Breaking Changes

  • For recursive proofs, the Poseidon hash function is replaced by the Poseidon2 hash function. Users can still create receipts using the older Poseidon hash function but these receipts will not be usable by Bonsai or any proof composition or rollup use cases.

v0.21.0-rc.2

09 Mar 03:12
2e5655a
Compare
Choose a tag to compare
v0.21.0-rc.2 Pre-release
Pre-release

What's Changed

Full Changelog: v0.21.0-rc.1...v0.21.0-rc.2

v0.21.0-rc.1

02 Mar 01:10
0b80585
Compare
Choose a tag to compare
v0.21.0-rc.1 Pre-release
Pre-release

Full Changelog: v0.20.1...v0.21.0-rc.1