Skip to content

v2.1.0

Latest

Choose a tag to compare

@stephenh-axiom-xyz stephenh-axiom-xyz released this 04 Nov 20:08
Immutable release. Only release title and notes can be modified.
05f3b73

OpenVM v2.1.0 adds optional certified STARK verification and includes security and correctness fixes across the verifier, cryptographic guest libraries, transpiler, and toolchain. Prebuilt binaries for various machines are attached.

Security Fixes

This release addresses the following security advisories:

Highlights

  • (Verifier/SDK/CLI) Added optional STARK proof verification with the certified Swirl verifier extracted from its Lean formalization to the SDK and CLI.
  • (Recursion/Continuations) Updated recursion and continuation circuit interactions and constraints for formal verification.
  • (Verifier) Marked all verifier circuit AIRs as required during key generation.
  • (Guest Library/Algebra) Assert reduction before modular and point byte access and Serde serialization. Native checks panic on noncanonical values.
  • (Guest Library/Algebra) Require IntMod and WeierstrassPoint implementers to provide *_unchecked byte accessors, and point coordinates to implement CanonicalRepr.
  • (Guest Library/ECC) Assert reduction of the selected root before testing parity during point decompression.
  • (Guest Library/ECC) Assert reduction of both coordinates in PublicKey::from_affine before checking identity.
  • (Guest Library/Algebra) Compare zkVM field and scalar values modulo their modulus in ct_eq for ff_derive, k256, and p256.
  • (Guest Library/ff_derive) Fix encoding and decoding for differing representation and storage sizes in both byte orders. Invalid encodings return None instead of panicking.
  • (Transpiler) Reject unsupported SYSTEM/CSR instructions, including LLVM's UNIMP trap.
  • (Toolchain) Treat nonzero return statuses from Rust's std main wrapper as failures, including Err and nonzero ExitCode returns.
  • (Prover) Fix program-trace padding PC collisions in sparse programs on CPU and CUDA by placing padding after the original program slots.

Contributors

New Contributors

Full Changelog: v2.0.1...v2.1.0