Ethproofs is accelerating real-time proving with $300k in grants. (opens in a new tab)
loading benchmarks...
proving systems and zkVMs performance on consumer hardware
*uses precompiles
*uses precompiles
*uses precompiles
*uses precompiles
*uses precompiles
| prover | proving system | zero-knowledge | post-quantum | security | VM | ISA | audit | maintained | field / curve | arithmetization | IOP | PCS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| barretenberg | UltraHonk | yes | no | 100-bit | no | - | not audited | yes | BN254 | ACIR | UltraHonk | KZG |
| binius64 | Binius64 | no | yes | 96-bit | no | - | not audited | yes | GHASH binary field | Binius64 | Binius64 | Binius64 |
| cairo-m | Circle STARK | no | yes | 88-bit | yes | Cairo ISA | not audited | no | M31 | AIR | Circle FRI | Circle-PCS |
| circom | Groth16 | yes | no | 100-bit | no | - | partially audited | yes | Bn254 | R1CS | Groth16 | - |
| expander | Libra | no | yes | 128-bit | no | - | not audited | yes | M31 | GKR | GKR | Orion |
| jolt | Jolt | yes | no | 100-bit | yes | RISC-V RV64IMAC | not audited | yes | Bn254 | Jolt | Twist & Shout | Dory |
| ligetron | Ligero | no | yes | 128-bit | yes | WASM | not audited | yes | Bn254 | Ligero | Ligero | Ligero |
| miden | STARK | no | yes | 94-bit | yes | Miden | not audited | yes | Goldilocks | AIR | STARK | FRI |
| plonky2 | Plonky2 | yes | yes | 97-bit | no | - | audited | no | Goldilocks | Plonkish | FRI | FRI |
| provekit | Spartan+WHIR | yes | yes | 128-bit | no | - | not audited | yes | Bn254 | R1CS | Spartan | WHIR |
| provekit-groth16 | Groth16+BSB22 | yes | no | 100-bit | no | - | not audited | yes | Bn254 | R1CS | Groth16 | - |
| risc0 | STARK | no | yes | 96-bit | yes | RISC-V RV32IM | partially audited | yes | BabyBear | AIR | STARK | FRI |
| rookie-numbers | Rookie Numbers | no | yes | 89-bit | no | - | not audited | yes | M31 | AIR | Circle FRI | Circle-PCS |
| spartan2 | Spartan2 | yes | no | 128-bit | no | - | not audited | yes | P256 | R1CS | Spartan | Hyrax |
| stark-v | Circle STARK | no | yes | 94-bit | yes | RISC-V RV32IM | not audited | yes | M31 | AIR | Circle FRI | Circle-PCS |
*uses precompiles
*uses precompiles
*uses precompiles
*uses precompiles
*uses precompiles
| info | ||||||||
|---|---|---|---|---|---|---|---|---|
barretenberg* | 128 | 610ms | 19ms | 86.75 MB | 14.31 KB | 36K | - | |
barretenberg* | 256 | 656ms | 19ms | 99.56 MB | 14.31 KB | 36K | - | |
barretenberg* | 512 | 743ms | 19ms | 123.06 MB | 14.31 KB | 47K | - | |
barretenberg* | 1,024 | 1.1s | 19ms | 208.54 MB | 14.31 KB | 83K | - | |
barretenberg* | 2,048 | 2.0s | 19ms | 396.55 MB | 14.31 KB | 154K | - | |
binius64 | 128 | 41ms | 7ms | 52.14 MB | 147.16 KB | 6.3K | - | |
binius64 | 256 | 46ms | 8ms | 59.92 MB | 156.00 KB | 10K | - | |
binius64 | 512 | 59ms | 12ms | 72.68 MB | 166.34 KB | 19K | - | |
binius64 | 1,024 | 72ms | 17ms | 107.27 MB | 179.69 KB | 35K | - | |
binius64 | 2,048 | 97ms | 28ms | 158.24 MB | 249.81 KB | 69K | - | |
cairo-m* | 128 | 1.3s | 10ms | 1.74 GB | 1.03 MB | 0 | 57K | |
cairo-m* | 256 | 1.4s | 10ms | 1.78 GB | 1.04 MB | 0 | 96K | |
cairo-m* | 512 | 1.5s | 10ms | 1.90 GB | 1.05 MB | 0 | 172K | |
cairo-m* | 1,024 | 1.9s | 11ms | 2.11 GB | 1.04 MB | 0 | 325K | |
cairo-m* | 2,048 | 2.5s | 11ms | 2.55 GB | 1.05 MB | 0 | 631K | |
circom | 128 | 356ms | 40ms | 154.74 MB | 1009 bytes | 95K | - | |
circom | 256 | 636ms | 67ms | 238.28 MB | 1013 bytes | 159K | - | |
circom | 512 | 1.2s | 118ms | 431.20 MB | 1009 bytes | 286K | - | |
circom | 1,024 | 2.3s | 221ms | 616.51 MB | 1020 bytes | 541K | - | |
circom | 2,048 | 4.8s | 423ms | 1.26 GB | 1014 bytes | 1.1M | - | |
expander | 128 | 46ms | 98ms | 904.75 MB | 1.87 MB | 431K | - | |
expander | 256 | 81ms | 155ms | 1.29 GB | 1.98 MB | 756K | - | |
expander | 512 | 147ms | 279ms | 2.03 GB | 2.76 MB | 1.4M | - | |
expander | 1,024 | 283ms | 508ms | 3.79 GB | 2.89 MB | 2.7M | - | |
expander | 2,048 | 542ms | 938ms | 6.98 GB | 3.06 MB | 5.3M | - | |
jolt* | 128 | 1.5s | 155ms | 194.46 MB | 78.85 KB | 0 | 22K | |
jolt* | 256 | 1.7s | 163ms | 192.54 MB | 81.87 KB | 0 | 34K | |
jolt* | 512 | 1.9s | 163ms | 202.10 MB | 81.87 KB | 0 | 58K | |
jolt* | 1,024 | 2.7s | 165ms | 231.13 MB | 82.29 KB | 0 | 106K | |
jolt* | 2,048 | 3.4s | 171ms | 294.91 MB | 85.25 KB | 0 | 202K | |
ligetron* | 128 | 828ms | 381ms | 126.14 MB | 3.51 MB | 198K | - | |
ligetron* | 256 | 1.1s | 417ms | 128.79 MB | 3.77 MB | 345K | - | |
ligetron* | 512 | 1.7s | 582ms | 131.69 MB | 4.19 MB | 641K | - | |
ligetron* | 1,024 | 3.0s | 900ms | 131.74 MB | 5.18 MB | 1.2M | - | |
ligetron* | 2,048 | 5.7s | 1.5s | 144.37 MB | 7.24 MB | 2.4M | - | |
miden | 128 | 3.7s | 2ms | 753.10 MB | 193.22 KB | 0 | 29K | |
miden | 256 | 7.6s | 3ms | 1.47 GB | 212.65 KB | 0 | 49K | |
miden | 512 | 14.7s | 3ms | 2.77 GB | 232.93 KB | 0 | 88K | |
miden | 1,024 | 30.2s | 3ms | 5.40 GB | 254.06 KB | 0 | 165K | |
miden | 2,048 | 1m | 3ms | 10.60 GB | 276.03 KB | 0 | 321K | |
plonky2 | 128 | 2.9s | 97ms | 1.68 GB | 151.50 KB | 17K | - | |
plonky2 | 256 | 5.8s | 176ms | 3.16 GB | 157.75 KB | 29K | - | |
plonky2 | 512 | 5.8s | 192ms | 3.08 GB | 157.75 KB | 52K | - | |
plonky2 | 1,024 | 11.7s | 369ms | 5.69 GB | 164.12 KB | 99K | - | |
plonky2 | 2,048 | 24.3s | 820ms | 9.09 GB | 178.21 KB | 192K | - | |
provekit* | 128 | 677ms | 183ms | 223.29 MB | 2.61 MB | 46K | - | |
provekit* | 256 | 841ms | 207ms | 320.82 MB | 2.76 MB | 68K | - | |
provekit* | 512 | 890ms | 227ms | 513.97 MB | 2.76 MB | 111K | - | |
provekit* | 1,024 | 1.2s | 289ms | 809.89 MB | 2.93 MB | 197K | - | |
provekit* | 2,048 | 1.9s | 389ms | 1.12 GB | 3.08 MB | 345K | - | |
provekit-groth16* | 128 | 382ms | 9ms | 268.85 MB | 200 bytes | 46K | - | |
provekit-groth16* | 256 | 597ms | 10ms | 411.14 MB | 200 bytes | 68K | - | |
provekit-groth16* | 512 | 798ms | 12ms | 585.93 MB | 200 bytes | 111K | - | |
provekit-groth16* | 1,024 | 1.4s | 18ms | 935.90 MB | 200 bytes | 197K | - | |
provekit-groth16* | 2,048 | 2.4s | 28ms | 1.54 GB | 200 bytes | 345K | - | |
risc0* | 128 | 18.5s | 13ms | 1.47 GB | 218.06 KB | 0 | 4.6K | |
risc0* | 256 | 18.5s | 13ms | 1.47 GB | 218.06 KB | 0 | 4.7K | |
risc0* | 512 | 18.5s | 13ms | 1.47 GB | 218.06 KB | 0 | 5K | |
risc0* | 1,024 | 18.5s | 13ms | 1.48 GB | 218.06 KB | 0 | 5.6K | |
risc0* | 2,048 | 18.5s | 13ms | 1.48 GB | 218.06 KB | 0 | 6.8K | |
rookie-numbers* | 128 | 4.8s | 298ms | 3.40 GB | 1.60 MB | 1.1K | - | |
rookie-numbers* | 256 | 5.7s | 296ms | 3.40 GB | 1.59 MB | 1.1K | - | |
rookie-numbers* | 512 | 7.2s | 296ms | 3.43 GB | 1.52 MB | 1.1K | - | |
rookie-numbers* | 1,024 | 4.9s | 296ms | 3.41 GB | 2.01 MB | 1.1K | - | |
rookie-numbers* | 2,048 | 4.8s | 301ms | 3.39 GB | 2.44 MB | 1.1K | - | |
spartan2 | 128 | 73ms | 21ms | 228.72 MB | 47.46 KB | 131K | - | |
spartan2 | 256 | 89ms | 24ms | 315.11 MB | 47.46 KB | 131K | - | |
spartan2 | 512 | 149ms | 32ms | 589.42 MB | 51.76 KB | 262K | - | |
spartan2 | 1,024 | 269ms | 49ms | 1.03 GB | 60.18 KB | 524K | - | |
spartan2 | 2,048 | 542ms | 87ms | 1.91 GB | 76.86 KB | 1M | - | |
stark-v | 128 | 1.8s | 17ms | 1.84 GB | 1.68 MB | 0 | 14K | |
stark-v | 256 | 1.8s | 16ms | 1.87 GB | 1.68 MB | 0 | 23K | |
stark-v | 512 | 1.9s | 17ms | 1.88 GB | 1.68 MB | 0 | 40K | |
stark-v | 1,024 | 1.9s | 16ms | 1.93 GB | 1.69 MB | 0 | 75K | |
stark-v | 2,048 | 2.1s | 16ms | 2.01 GB | 1.68 MB | 0 | 146K |
*uses precompiles