⚠️ Disclaimer ⚠️
This version serves as the foundation for the production release and is currently undergoing security and correctness audits.
Although extensive testing and validation have been performed, additional bugs or vulnerabilities may still be discovered. Users should evaluate the software according to their own requirements and use it at their own discretion and responsibility.
Feedback and bug reports are highly appreciated and help improve the reliability of the project.
Summary
- Major Keccak-f arithmetization improvements
- Improved proving performance and GPU utilization
- Improved memory planning and trace configuration
- Improved setup generation, verification and deployment
- Enhanced multi-GPU proving support
- Improved SDK, CLI and developer tooling
- Soundness and correctness fixes
Keccak-f Performance Improvements
Keccak-f has been substantially optimized to reduce its arithmetization cost and improve proving efficiency.
- Introduced a sliced χ-row S-box arithmetization with two Keccak-f operations processed per cell.
- Reduced Keccak-f committed cells by approximately 49%, from ~75.5k to ~38.5k cells per permutation.
- Reduced the number of constraints and increased the number of operations that can be handled by a single AIR instance.
- Added configurable
lanes_per_rowlayouts to trade trace width for witness memory usage. - Added optimized XOR and χ lookup tables to reduce the size of the underlying tables.
Proving Performance and GPU Utilization
Several improvements reduce proving overhead and improve CPU/GPU resource utilization.
- Deep optimization of the Q polynomial expressions evaluation on GPU
- Improved GPU memory planning by deriving instance sizes directly from PIL trace dimensions instead of hardcoded values.
- Made GPU constant-polynomial residency configurable, allowing selected polynomials to be streamed instead of permanently occupying VRAM.
- Improved multi-GPU setup and initialization.
- Improved GPU memory planning configuration and resource handling.
- Improved synchronization between generated PIL trace sizes and memory planning.
Setup Generation and Verification
Setup generation and verification infrastructure have been updated for the new proving configuration.
- Updated Proofman dependencies and proving artifacts for the
1.2.0-alpharelease. - Improved setup artifact upload validation to prevent incomplete setups from being published.
- Updated PLONK verification keys and Solidity verifier parameters.
- Synchronized the on-chain
vadcop-finalroot with the regenerated SNARK setup. - Improved multi-GPU program setup handling.
- Improved setup artifact naming and deployment configuration.
SDK, CLI and Developer Experience
Developer tooling has been improved across the build, proving and diagnostic workflows.
- Fixed unnecessary
ziskbuildbuild-script reruns during hostcargocommands. - Improved CLI setup handling for CPU/GPU execution modes.
- Improved setup and proving diagnostics.
- Improved developer workflow around setup and verification artifacts.
- Improved release documentation and configuration consistency.
Soundness and Correctness Fixes
This release includes several correctness improvements across the proving and execution stack.
- Improved consistency between PIL trace sizes and memory planning.
- Fixed setup packaging issues that could result in incomplete proving artifacts.
- Fixed multi-GPU setup initialization issues.
- Fixed binary table correctness issues affecting
LEandLEUoperations. - Fixed correctness issues in setup and verifier artifact synchronization.
- Improved validation of release and proving artifacts before publication.