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) | | | | | | | | | | | | | | | | | | | | | | |