zorch_2

Take your ZK research to production, fast.

zorch turns research ideas into production implementations: JAX-native building blocks for Modern SNARKs (IOP + PCS).

Try in Playground ↗
brakedown.py
import zorch
import zorch.numpy as znp        # NumPy for field operations
from zk_dtypes import babybear   # ZK field dtypes

class Brakedown(zorch.PCS):
    @zorch.jit                   # JIT-compiled to fused GPU kernels
    def commit(self, poly: znp.array) -> Commitment: ...

    @zorch.jit
    def open(self, c: Commitment, points: znp.array) -> Proof: ...

# Compose a prover from the blocks you choose
prover = zorch.Prover(field=babybear, pcs=Brakedown())
proof = prover.prove(input)

Libraries

Everything that runs on zorch

scheme

primitive

field

arith

zorchcore2

JAX-native building blocks for Modern SNARKs (IOP + PCS). Proving-scheme- and zkVM-agnostic, fusion-first.

Run ↗

Lean OpenVM prover on zorch blocks: SWIRL (LogUp-GKR, batched ZeroCheck with univariate skip, stacked opening reduction, WHIR PCS), byte-matched against openvm-stark-backend.

Run ↗

Lean SP1 prover on zorch blocks: SP1-specific commitment and prove glue (SMCS, shard prover, FFI) over fractalyze/zorch.

1.6× vs SP1's hypercube prover (upstream)

Run ↗

Lean ZisK prover on zorch blocks: pil2-stark Poseidon2-Goldilocks params, transcript, and stage-1 trace commit byte-matched against pil2-proofman.

Run ↗

GPU port of Flock: R1CS-over-GF(2^128) PIOP (zerocheck + lincheck) with BaseFold/Ligerito PCS, byte-identical to upstream across Keccak / SHA-256 / BLAKE3.

First working GPU implementation

Run ↗
groth16-zorchsnark1

GPU Groth16 prover for bellman (BN254). The h-FFT and all five MSMs in one fused GPU call, byte-identical to groth16::create_proof.

2.2× vs Gnark's Groth16 GPU prover

Run ↗
accumulation-zorchaccumulation1

GPU accumulation prover over the Pasta cycle: the arkworks ark-accumulation prove path (r1cs_nark_as + hp_as, ipa_pc_as) authored in Python/JAX and run as a single fused GPU kernel, byte-identical to the reference prover.

Run ↗

Performance numbers are measured by maintainers on pinned hardware against upstream, never self-reported.

Contribute

The cryptography community building the future.

The platform where the ZK community collaborates on schemes, implementations, and benchmarks.

Register your library with one YAML file, reviewed by PR.