Skip to content

v0.18.0

Compare
Choose a tag to compare
@flaub flaub released this 13 Sep 22:41
· 512 commits to main since this release
29cc16f

Our 0.18 release upgrades the Bonsai SDK with Groth16 SNARK seals for better on-chain verification, better error handling, and more. In the zkVM, this release separates host and guest build toolchains and also supports reproducibly building the same ImageID for the same zkVM code by using a consistent Docker environment.

Thank you to community members @austinabell and @winor30 for their contributions to this release!

Important and Breaking Changes

  • Separate host and guest build toolchains, allowing the use of different versions of rustc for host and guest code. This has allowed us to move the default host toolchain to the stable channel. The guest toolchain remains on a nightly release of 1.69.
  • Add cargo risczero build command to build zkVM guest programs using a Docker container, which enables ImageIDs to remain consistent across builds. See #799 for details.
  • Bonsai Ethereum contracts now use Forge as a subprocess, so building Bonsai code will now require installing Foundry tools.
  • Bonsai SDK: upload_img and upload_img_file no longer return ImageIdExists errors. Instead they return a boolean, true if the image exists on the server.
  • Bonsai SDK: Bonsai now returns Groth16 SNARK seals as well as the journal and post_state_digest for easy on-chain verification.
  • Expand Prover support to better work with remote provers like Bonsai.
  • Fix bug #820, correcting iterative calls to SHA2
  • Add 128 bits of entropy to the memory state, addressing a potential privacy issue where the SystemState root in the ReceiptMetadata was not guaranteed to be a hiding commitment.

What's Changed

New Contributors

Full Changelog: v0.17.0...v0.18.0