⚠️ Disclaimer: Software Under Development ⚠️
This software is currently under active development and has not been audited for security or correctness.
Please be aware of the following:
- The software is not fully tested.
- Do not use it in production environments until a stable production release is available. 🚧
- Additional functionalities and optimizations are planned for future releases.
- Future updates may introduce breaking backward compatible changes as development progresses.
If you encounter any errors or unexpected behavior, please report them. Your feedback is highly appreciated in improving the software.
Summary:
- Improved distributed proving resilience and deployment
- zkVM Standards I/O interface support
- no_std compatibility for ziskos on the ZisK target
- Non-Rust guest program compatibility fixes
- NativeAOT and unaligned memory access fixes
- Verifier improvements
- Build, CLI and tooling improvements
- Multiple stability, liveness and correctness fixes
Note
Due to several fixes included in this release, a new proving key (setup) has been generated to reflect the updated constraints and system behavior.
Distributed Proving & Runtime Resilience
This release improves the reliability of distributed proving workflows and runtime recovery.
Key improvements:
- Improved distributed deployment and cluster configuration
- Added worker recovery handling for hint failures and recoverable execution errors
- Added soft-reset support for ASM children, avoiding unnecessary full respawns
- Improved cleanup of shared memory and orphaned ASM processes
- Fixed coordinator deadlocks, liveness issues and MPI hint handling
- Added retry logic for flushing and writing hint data
- Increased ring buffer size to 128 MB
zkVM Standards I/O Interface
ZisK now implements the zkVM Standards I/O interface, improving compatibility with standard zkVM guest integrations.
Key additions:
- Added standard
read_inputandwrite_outputAPIs - Added
zkvm_io.hand matching Rust implementations - Integrated the I/O header into bindgen generation
- Added compile-time ABI checks for the standard interface
- Routed
commit_slicethrough the standard output writer
no_std ziskos Support
ziskos is now no_std compatible for the ZisK target.
Key changes:
- Removed unintended
stddependencies from zkVM builds - Split host-only and zkVM dependencies
- Made
zkvm-interfaceandzisk-definitionscompatible withno_std - Added a ZisK-target panic handler
- Migrated the workspace from bincode v1 to v2 to support
no_stdusage - Added CI checks to ensure
libziskos.adoes not include unwantedstdobjects
Non-Rust Guest Program Compatibility
This release includes several fixes for guest programs written in languages such as C, C++, Go, .NET/NativeAOT and Zig.
Key fixes:
- Fixed unaligned memory access handling
- Fixed cross-word-boundary reads
- Fixed 8-byte alignment checks
- Fixed bus accounting for sub-word operations
- Fixed NativeAOT alignment processing issues
- Improved support for proving NativeAOT-based applications
Verifier Improvements
This release includes several verifier-related fixes and optimizations.
Key changes:
- Updated the Solidity verifier version
- Fixed malformed proof handling to prevent panics
- Removed unnecessary casting between u8 and u64
- Added no_std support for the verifier
Arithmetic & Constraint Fixes
This release includes important soundness and constraint fixes.
Key changes:
- Fixed final
lt_flagverification in ArithEq and ArithEq384 - Optimized the implementation to save one witness column
- Fixed invalid values causing global constraint failures
- Fixed memory and alignment-related constraint violations
Build, CLI & Tooling
Several improvements were added across installation, build workflows and developer tooling.
Key changes:
- Fixed GPU program setup and GPU binary generation
- Built GPU binaries using
CUDA_ARCHS="major" - Added compatible NVIDIA driver detection in
ziskup - Fixed
ziskup plonk - Fixed program setup recalculation in CLI calls
- Added support for building multiple programs in the same workspace
- Fixed SDK rebuild and determinism-related issues
- Fixed guest panic handling and Unix tests
- Updated documentation to match distributed installation