OP-ZisK is an experimental fork of succinctlabs/op-succinct that explores using ZisK as the zkVM backend for OP Stack proving workflows.
Note: This is a personal research project and is not affiliated with or endorsed by the ZisK team. This repository builds on the excellent foundation work of the Succinct Labs team and adapts it to explore ZisK-based proving workflows.
The system uses a two-phase architecture:
[ Native execution collects preimages dynamically ] [ ZisK proof generation ]
v0.1 demonstrates testing:
[ Devnet setup ] [ Witness generation ] [ ZisK proof generation] (~16s for 50,217,738 steps)
Caution
This repository is WIP and an experimental project at this stage and contains a few unstable sections.
- Rust toolchain (latest stable)
- ZisK CLI tools (
cargo-zisk,ziskemu) installed - Go 1.21+ (for devnet testing)
- Access to L1/L2 RPC endpoints (or use local devnet)
-
Start a devnet (or configure RPC endpoints):
cd tests go test -v -timeout=60m -run TestValidityProposer_SingleSubmission ./e2e/validity/proving/
-
Build the range program:
cargo-zisk build --release --manifest-path programs/range/ethereum/Cargo.toml
-
Perform ROM setup (one-time, takes a few minutes):
cargo-zisk rom-setup \ -e target/riscv64ima-zisk-zkvm-elf/release/range \ -k $HOME/.zisk/provingKey -
Generate witness data:
cargo run --release --bin prove-range -- \ --env-file .devnet.env \ --start 2 \ --end 3 \ --save-input witness.bin \ --safe-db-fallback
-
Generate proof:
cargo-zisk prove \ -e target/riscv64ima-zisk-zkvm-elf/release/range \ -i witness.bin \ -k $HOME/.zisk/provingKey \ -o proof \ -a -y
To configure or change the OP-ZisK codebase, refer to the repository source and release notes.
RPC endpoints can be configured via:
- Environment variables (
.envfiles) - DevnetManager API (automatic discovery when running Go tests)
- Command-line arguments
See utils/config/src/lib.rs for the unified configuration system.
The system follows a host-guest architecture:
- Host: Rust binaries (
prove-range,validity) that fetch data from RPCs and generate witness files - Guest: ZisK zkVM programs that execute inside the VM to validate state transitions
- Prover: ZisK CLI tools that generate proofs from ELF + witness data
This repository is built on the foundation of excellent work from:
- Succinct Labs: This project is a fork of
succinctlabs/op-succinct. The core architecture, design patterns, and much of the implementation work comes from the Succinct team. This fork adapts their work to explore ZisK as an alternative zkVM backend. - OP Stack: Modular software components for building L2 blockchains.
- Kona: A portable implementation of the OP Stack rollup state transition, namely the derivation pipeline and the block execution logic.
- ZisK: The zkVM used by this fork for proof generation.