// the find
ProvableHQ/snarkVM
A zkVM for Decentralized Private Computations (DPC)
snarkVM is the execution layer for the Aleo blockchain — a zkVM that compiles and runs programs written in Leo/Aleo instructions, generating zero-knowledge proofs for private smart contract execution. It's a production system, not a research toy: it's running mainnet and has been for a while. Target audience is ZK application developers building on Aleo and cryptography engineers who need a complete, well-tested SNARK stack in Rust.
The crate decomposition is genuinely useful — algorithms, circuit, console, synthesizer, ledger are all independently published on crates.io with WASM targets, so you can pull in just the elliptic curve arithmetic or just the Poseidon hash without dragging in the whole blockchain. The snapshot test coverage on the crypto primitives (Poseidon MDS/ARK constants, etc.) is thorough — breaking changes to cryptographic parameters will be caught immediately. CUDA acceleration for MSM is included and not an afterthought, which matters for proof generation throughput at scale. Active mainnet deployment means the consensus-critical paths have real adversarial pressure on them, not just unit tests.
The README is essentially a crate table and a build guide — there's no architecture overview, no explanation of the execution model, no example of what writing a program and generating a proof looks like end to end. You have to go to the separate 'welcome' repo and piece it together. The `staging` branch is the recommended clone target in the build guide, which is an unusual convention that will confuse anyone who expects `main`/`master` to be stable. The Varuna proving system replacing Marlin is not documented in this repo at all — you'll find it in the synthesizer benchmarks but there's no write-up of what changed or why. GPL badge in the README footer doesn't match the actual Apache 2.0 license — small thing but it will cause confusion for anyone doing license due diligence.