Skip to content

ethproofs/venus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

188 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Venus

Venus is a compute backend extension and specialization built on top of ZisK, developed by the Cysic Labs team.

The majority of the codebase originates from the ZisK project. We are deeply grateful to the ZisK team (0xPolygonHermez) for their extraordinary contributions to the community in developing a high-performance zero-knowledge proof zkVM.

Venus follows the same dual-license model as ZisK (Apache 2.0 / MIT). Cysic aims to contribute our expertise in compute backend acceleration to Ethereum and the broader open-source community, with a particular focus on FPGA and ASIC custom acceleration.

Monorepo Structure

This repository is a deeply integrated monorepo consolidating multiple projects originally from 0xPolygonHermez:

Component Origin Description
venus-acc/ Cysic Labs FPGA/ASIC acceleration backend (submodule, Cysic original work)
zisk 0xPolygonHermez/zisk zkVM core: state machines, emulator, executor, PIL definitions, CLI tools
pil2-proofman/ 0xPolygonHermez/pil2-proofman Rust proving backend with GPU (CUDA) acceleration
pil2-compiler-rust/ Cysic Labs (Rust port) PIL (Polynomial Identity Language) compiler (pil2c binary)
pil2-stark-setup/ Cysic Labs (Rust port) Proving key generation and setup (venus-setup binary)
stark-recurser-rust/ Cysic Labs (Rust port) Recursive STARK circuit generation (pil2circom, gencircom, plonk2pil)

We chose this monorepo consolidation because we believe a clean repository with minimal external dependencies facilitates rapid development iteration.

Attribution: The code outside venus-acc/ originates from the 0xPolygonHermez team and the ZisK project. Cysic has contributed GPU backend optimizations under pil2-proofman/ (cudaGraph integration, expression kernel tuning, shared-memory optimization, etc.) and the complete hardware acceleration backend under venus-acc/.

What Cysic Contributes

Cysic specializes in hardware acceleration for zero-knowledge proof systems, with expertise spanning GPU, FPGA, and ASIC backends. On top of the ZisK foundation, Cysic has contributed:

  1. GPU Backend Performance Improvement -- Optimizations to the existing CUDA proving backend under pil2-proofman/, including cudaGraph integration, expression evaluation kernel tuning, and shared-memory optimizations for intermediate buffers. Preliminary benchmarks on RTX 5090 show measurable improvement over the ZisK baseline.

  2. Complete FPGA Acceleration Backend (venus-acc/) -- A full proving system backend implementation targeting FPGA acceleration, with HLS-based kernels (Goldilocks field arithmetic, NTT, Poseidon2, Merkle tree, FRI, expressions evaluation) targeting AMD UltraScale+ and Versal devices with HBM.

  3. Preliminary ASIC-Oriented zkVM Acceleration Chip -- An initial implementation of a custom silicon design for zkVM proof acceleration.

  4. Ongoing Development -- Deeper integration of FPGA and ASIC compute backends is under active, high-frequency development.

Getting Started

To start using ZisK, follow the Quickstart guide.

Complete Documentation: ZisK Docs

License

All crates in this monorepo are licensed under one of the following options:

You may choose either license at your discretion.

Acknowledgements and Declaration

Venus should be understood as Cysic's optimization, extension, and specialization of specialized hardware backends (GPU, FPGA, ASIC) built on top of the ZisK system.

We extend our deepest gratitude to the ZisK team and 0xPolygonHermez for building and open-sourcing a high-performance zero-knowledge proving virtual machine. Their foundational work makes projects like Venus possible.

We also thank the Plonky3 team for their contributions to zero-knowledge proving systems, the RISC-V community for providing a robust ISA that enables the zkVM model, and the broader open-source cryptography and ZK research communities whose work continues to advance scalable zero-knowledge technologies.

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 backwards compatible changes as development progresses.
  • Mac is currently not supported. We are working to support it soon.

If you encounter any errors or unexpected behavior, please report them. Your feedback is highly appreciated in improving the software.

About

Venus: Cysic's efforts on zkVM based on ZisK with customized hardware optimizations

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 38.7%
  • C++ 20.4%
  • Cuda 18.1%
  • Assembly 9.4%
  • C 8.6%
  • Circom 2.7%
  • Other 2.1%