Skip to content

v0.1.0

Latest

Choose a tag to compare

@MatteoMer MatteoMer released this 13 Apr 12:21
· 27 commits to main since this release
272e9f7

Zolt is a Zig zkVM prover that generates proofs verifiable by the unmodified upstream Jolt verifier. All cryptography is implemented from scratch using only the Zig standard library, zero dependencies, zero FFI.

Highlights

  • Full Jolt-compatible prover 7-stage proving pipeline producing proofs verified by upstream Jolt (pinned to commit b10e80ac)
  • Faster than Jolt (Rust) on small-to-medium programs (Apple M1 Pro benchmarks)
  • RISC-V RV32IM+C emulator with full multiply/divide (M) and compressed instruction (C) support
  • All crypto from scratch in Zig BN254 field/curve arithmetic, Montgomery multiplication, pairings, Fp2/Fp6/Fp12 extensions, Pippenger MSM with GLV endomorphism, HyperKZG + Dory commitment schemes, Blake2b/Keccak/Poseidon transcripts, Sumcheck + Spartan
  • 14 verified example programs including SHA-256 (various input sizes), Fibonacci, factorial, primes, and more
  • jolt-inline support for SHA-256 custom instructions
  • Parallel proving via Chase-Lev work-stealing thread pool
  • Optional Metal GPU acceleration for MSM on Apple Silicon
  • C-API static library for integration with other languages
  • BLS12-381 support in the arithmetic library (curve-generic substrate)
  • SRS caching to disk no repeated downloads

Architecture

Three clean packages: zolt-pool (threading) → zolt-arith (arithmetic) → zolt (zkVM). ~60k lines of Zig.

Known Limitations

  • Experimental, not audited, not for production use