github 0xPolygonHermez/zisk v1.2.0-alpha

5 hours ago

⚠️ 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_row layouts 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-alpha release.
  • 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-final root 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 ziskbuild build-script reruns during host cargo commands.
  • 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 LE and LEU operations.
  • Fixed correctness issues in setup and verifier artifact synchronization.
  • Improved validation of release and proving artifacts before publication.

Don't miss a new zisk release

NewReleases is sending notifications on new releases.