Benchmarking all kinds of ZKP-related things
Go to file
Balazs Komuves c036c05e21 add license files 2023-10-14 21:59:04 +02:00
hash/cpu remove binary files added accidentally before 2023-10-14 20:13:09 +02:00
.gitignore add zikkurat-algebra and HorizenLabs Poseidon2+etc implementations as submodules 2023-10-14 17:10:35 +02:00
.gitmodules add Blake3 official impl. as a submodule 2023-10-14 19:39:57 +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