| ToolKit | Prove | Verify | Proof Size | Prove Recursive | Verify Recursive | Recursive Proof Size |
|---|---|---|---|---|---|---|
| Mina(o1js) | MerkleLeaf(256 Height with PoseidonHash): time: 39456.404ms ± 0.1% | 2624.229ms ± 0.3% | 31349 bytes | 48384.674ms ± 0.1% | 2638.434ms ± 0.6% | 32813 bytes |
| Plonky3 | 2^20 Poseidon2: 1.20s 873813 hashes/s | 86.2ms | 1227084 bytes | Recursive with Plonky2: 23598ms | 4ms | 162608 bytes |
| Plonky2 | PoseidonGodilocksField 8982 hashes/s | 3ms | 124544 bytes | 267 ms | 3 ms | 130288 bytes |
| Expander | PoseidonM31 549522 hashes/s | 25ms | 796032 bytes | |||
| SP1 | PoseidonBabyBear 1000 552s 1.8 hashes/s | 6.63s | 81507074 bytes | STARK 726s Plonk 72s | 2s | Compressed: 1315503 bytes Plonk: 868 bytes |
MerkleLeaf(PoseidonHash)(256 height) Benchmark: https://github.com/devfans/minazkp
Mina ZK Brief:
Kimchi: Mina’s custom Plonkish arithmetization (a variant of PLONK) optimized for Halo 2. Lookup Arguments: Efficiently handle complex computations (e.g., cryptographic hashes) in circuits.
Pallas (base) and Vesta (scalar) fields, 255-bit primes with a cycle
Poseidon2 hash benchmark: https://github.com/devfans/plonky3
Verify Plonky3 proof in Plonky2: https://github.com/devfans/plonky2.5
Verify Plonky2 PoseidonHash in Goldilocks Field https://github.com/devfans/plonky2bench
Poseidon M31Ext Field benchmark: https://github.com/devfans/Expander/
Poseidon BabyBear Field benchmark: https://github.com/devfans/sp1-poseidon-bench/
https://hackernoon.com/benchmarking-the-computation-performance-of-poseidon2-in-plonky3
In 2023, Lorenzo Grassi and others improved the Poseidon hash function, introducing Poseidon2
