Summary

Os: Ubuntu 22.04.4 LTS 64 bits

Memory: 32,0 GiB Speed: 5600 MT/s

Processor: 13th Gen Intel(R) Core(TM) i9-13980HX (24 cores / 32 threads, max 0,0 GHz)

GPU: Nvidia RTX 4090, 12GB of memory

Rust: 1.90

recursion verifying plonky3 into a plonky2 proof: more than 16s

ZKVM (name) Circom Risc0 SP1 Valida Jolt Nexus Cairo-VM Miden Ceno Zisk Boojum Airbender Eigen zkVM zkwasm OlaVM Triton VM Cairo M OpenVM Mozak VM Pico PowdrVM Sphinx
Company Iden3 Risc0 Succinct Labs Lita Fundation a16z crypto Nexus Starkware Polygon Scroll, Taiko, Ethereum Fundation Polygon ZKSync (MatterLab) ZkSync (MatterLab) EigenLabs DelphinusLab sin7Y Neptune protocol Kakarot OpenVM Org Mozak Brevis (Powdr Labs) Argument Computer
Ready for Production ✅ ✅ ✅ Not stated on Github ❌ ❌ ✅ ❌ ❌ ❌ ✅ (already deployed on their rollup) Not stated on Github Not stated on Github Not stated on Github ❌ ❌ ❌ ✅ Not stated on Github ❌ ❌ Not stated on Github
Proving System(s) STARK STARK STARK STARK STARK STARK STARK
ZK building blocs
Finite field
Security (bits)
Call to prover Language
Proof Programming Language
Language compiler developed
Future language compiler
Instruction Set
SDK ?
Support GPU? ✅ ✅
Support wrapping? Natively a SNARK ✅ ✅ ✅ They announced it but impossible to know how to enable it
Support recursion ✅ (with chain of curves) ✅ ✅ In their roadmap In the roadmap
❌ Not clearly available (not using nova anymore) Not clearly available In the roadmap
❌ Not clearly available Not clearly available No clear but I think yes ✅ ✅ Not clearly available ✅ Not clearly available Not clearly available Not clearly available Not clearly available ✅ Not clearly available ✅
Recursion proving Time on CPU Oxparc estimates it to 20 million constraints which is too big:
Too long 32k RISCV cycles:

16s

groth16: 500M cycles | 155k RISCV cycles:

89s

pairing check: 143M cycles | | Their example crash: I/O underflow: Attempted to read from 0x7FFFA000. Out of bounds. | | | Not supported :/ | | | | | | | | | | Not supported but 2 pairings take 10.6s on BLS 10.5s on BN stark 41s | | 350k RISCV cycles:

137s | | 168s | | 100 Hash (256 bits) proving Time on CPU | 480 constraints for a single hash on grumpkin, 72 000 constraints for 100 hash of two elements: | 130k RISCV cycles for 100 hashes with sha256:

15s | 147k RISCV cycles for 100 hash of two elements with sha256:

70s | | 10.7s (and smaller than stark proof sizes) | Killed for a lack of RAM (I have 32 GB) | Harder to code (no for loop only recursion with pointers) | 17.8s with Sha256 and 21 ms with Rescue Optimized | Didn’t manage to execute it. Even their SHA256 example doesn’t work… | | | 77s with blake2 | | | | | | 2s with prooving and stark 30s | | 125k RISCV cycles:

67s | | | | Recursion proving Time on GPU | | 0.7s | (not enough GPU RAM) | | | | | | | | | | | | | | | 2.5s for 2 pairings and 9.6s STARK | | Not found how to activate | | | | 100 Hash (256 bits) proving Time on GPU | | 2.8s | (not enough GPU RAM) | | | | | | | | | | | | | | | 0.6s proving and 0.6s stark | | Not found how to activate | | | | Expected TPS | | On GPU I’m a bit under 0.3 TPS | on my CPU with AVX2 0.03 TPS | | | | | | | | | | | | | | | | | | | | | Wrapping Time on CPU | | | | | | | | | | | | | | | | | | | | | | | | Proof size | | | | | | | | | | | | | | | | | | | | | | | | Hash Proving Time on GPU | | | | | | | | | | | | | | | | | | | | | | | | Wrapping Time on GPU | | | | | | | | | | | | | | | | | | | | | | | | Date of evaluation 2024 / Version | | | | | | | | | | | | | | | | | | | | | | | | Maintained | | | | | | | | | | | | | | | | | | | | | | | | Advantages | | | | | | | | | | | | | | | | | | | | | | | | Disadvantages | | | | | | | | | | | | | | | | | | | | | | | | Miscealenous | | | | | | | | | | | | | | | | | | | | | | | | Licence(s) | | | | | | | | | | | | | | | | | | | | | | |