This repo contains the transcript of trusted setup ceremony for Semaphore Merkle Tree Batcher. Please see that repo for details.
If you want to read up more on what is a trusted setup and why it is a requirement for zkSNARKs (zero-knowledge proofs) that are non-universal like groth16 which is the proof system powering Semaphore and World ID, read:
- Understanding Trusted Setups: A Guide - Panther Protocol
- How do trusted setups work? - Vitalik Buterin
- On-Chain Trusted Setup Ceremony - a16z crypto
- BGM17
For the phase 1 contribution (a.k.a powers of tau ceremony) we are using the Perpetual Powers of Tau ceremony. We built a deserializer from the .ptau
format into the .ph1
format used by gnark and initialized a phase 2 using a fork (semaphore-mtb-setup) of a ceremony coordinator wrapper on top of gnark built by the zkbnb team.
Follow the instructions in the GUIDE.md file to perform and verify the integrity of the trusted setup.
Check out the CONTRIBUTORS.md file for details on how to contribute.