Skip to content

worldcoin/kzg-ceremony-participant

Repository files navigation

KZG Ceremony Participant

⚠️ This project is still heavy WIP.

Implemensts a participant client for the KZG powers of tau ceremony according this spec.

Related Links

Dependencies

Install these dependencies before you start going through the build instructions:

Build instructions

Native

  • Run tests: cargo test --target aarch64-apple-darwin
  • Build: cargo run --release --target aarch64-apple-darwin

Wasm

  • Build: CC=emcc AR=emar wasm-pack build --target web -d wasm/pkg
  • Run server: python3 ./wasm/server.py

Benchmarks

Native

  • Apple M1 Max (10 threads): 1.44s

Wasm

  • Apple M1 Max, Chrome (10 threads): 7.87s
  • Apple M1 Max, Chrome (1 thread): 58.95s

TODO

  • Create some nice issues for others to pick up
  • G2 serialization and tests (according to zcash spec)
  • Merge wasm implementation
  • Evaluate blst instead of ark_bls12_381
  • Add benchmarks
  • Implement pot_pubkey
  • Running Product Subgroup check
  • Fix wasm for firefox (not checked) and safari