// the find
0xProject/OpenZKP
OpenZKP - pure Rust implementations of Zero-Knowledge Proof systems.
Pure Rust STARK proof system from the 0x Protocol team, targeting Ethereum verification. It implements the full STARK pipeline — field arithmetic, FFTs, Merkle commitments, FRI, and a Solidity verifier — from scratch, with a WebAssembly-compatible verifier. Aimed at developers who need to understand or build on the STARK internals rather than reach for a high-level circuit DSL.
The constraint API is genuinely clean for what it is — you express constraints as rational expressions over a trace table, and the library handles the rest. The algebraic primitives (u256, prime field, FFT) are each their own crate with independent benchmarks, so you can evaluate and swap them. Multi-threaded prover with asymptotically optimal algorithms, and the benchmark suite against dalek/secp256k1/GMP shows they actually measured instead of guessing. The accompanying mdBook and Jupyter notebooks make the math followable without a PhD.
Last meaningful commit was April 2024 and the repo has been in maintenance-only mode for years — the ZKP space has moved on to Plonk/PLONK-variants and this is STARK-only with a hard-coded 251-bit prime field and Keccak hash, neither of which you can swap out. No high-level constraint language means writing circuits is error-prone and manual in a way that Circom or Noir solved years ago. No security audit, and the README explicitly says it lacks perfect zero-knowledge — that's a significant disclaimer for anything beyond research use. The Ethereum Solidity verifier depends on a Buidler (pre-Hardhat) toolchain that is itself abandoned.