2024-06-11 18:01:07 +05:30
2023-10-17 21:01:12 +02:00
2024-06-11 18:01:07 +05:30
2024-01-23 12:59:50 +05:30
2023-10-14 21:59:04 +02:00
2023-10-14 21:59:04 +02:00
2023-10-14 21:59:04 +02:00
2023-10-14 21:33:09 +02:00

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
Description
Benchmarking all kinds of ZKP-related things
Readme
Languages
C 68.2%
Haskell 20.3%
Dockerfile 6.1%
Shell 5.4%