Benchmarking all kinds of ZKP-related things
Go to file
Balazs Komuves 882b2218f9
fix the Poseidon2 SNARK benchmark
2023-11-28 18:50:11 +01:00
base-image minor improvements in the Dockerfile 2023-11-28 16:45:12 +01:00
ceremony WIP benchmark runner 2023-10-17 21:01:12 +02:00
framework haskell code to collect benchmarks 2023-11-06 15:33:34 +01:00
hash fix the Poseidon2 SNARK benchmark 2023-11-28 18:50:11 +01:00
.gitignore clean up benchmarking scripts 2023-10-17 11:22:11 +02:00
.gitmodules rename "src" to "external" (containing git submodules of external dependencies) 2023-10-17 11:25:51 +02:00
LICENSE-APACHEv2 add license files 2023-10-14 21:59:04 +02:00
LICENSE-MIT add license files 2023-10-14 21:59:04 +02:00
LICENSE.md add license files 2023-10-14 21:59:04 +02:00
README.md add a readme 2023-10-14 21:33:09 +02:00

README.md

Benchmarking various ZK proof themed implementations

We want to benchmark:

  • hash functions, both on CPU and inside SNARKs
  • algebra implementations (fields, elliptic curves, etc)
  • circom / Groth16 implementations
  • different proof systems
  • approaches to lookup tables in SNARKs
  • various zkVMs
  • etc

Note: Right now, this is very much WIP...

Hash functions

Some examples of relevant hash functions

  • Poseidon
  • Poseidon2
  • Reinforced Concrete
  • SHA256
  • Keccak256
  • Blake2
  • Blake3

Algebra backends

  • Arkworks
  • Constantine
  • Gnark
  • Zikkurat
  • mcl

circom / Groth16 provers

  • SnarkJS
  • RapidSnark
  • Ark-circom
  • Gnark
  • Bellperson

Proof system

  • Groth16
  • PLONK
  • Spartan
  • Nova
  • STARK+FRI
  • etc etc

Lookup tables

  • plookup
  • logarithmic derivatives
  • cached quotients
  • Lasso
  • etc (there a lot of variations)

zkVMs

  • Cairo (StarkWare)
  • Risc0
  • MidenVM
  • TritonVM
  • Lurk (LISP zkVM)
  • etc