World ID 4.0 Trusted Setup
How a trusted setup works
World ID 4.0 uses a Groth16 Phase 2 trusted setup ceremony for its zk-SNARK circuits. In this process, multiple participants each add their own randomness contribution (often called “toxic waste”) to circuit-specific setup artifacts (.zkey), and each contribution is publicly verifiable as part of a transcript. Security relies on at least one participant contributing honestly and permanently deleting their secret randomness.
Why we are doing this for World ID 4.0
The World ID 4.0 ceremony is for the Circom circuits part of the oprf-service stack:
OPRFQueryProofOPRFNullifierProofOPRFKeyGenProof13OPRFKeyGenProof25OPRFKeyGenProof37
These circuits require Groth16 proving keys, which are produced via a Phase 2 setup. The trusted setup is therefore a required part of preparing production-grade proving artifacts for the World ID 4.0 protocol.
How to contribute
Note
The World ID 4.0 trusted setup ceremony is closed. New contributions are no longer accepted.
The @worldcoin/world-id-trusted-setup-cli package was built as a fork of PSE’s p0tion for organizing a trusted setup ceremony with minimum work needed to be done by the contributors. During the active ceremony, contributors used the following flow:
- Authenticate with GitHub device-flow OAuth (used by the CLI and for ceremony identity/attestation flow):
npx @worldcoin/world-id-trusted-setup-cli auth
- Run the contribution command to join an open ceremony and compute/upload your contribution (<10 min on average):
npx @worldcoin/world-id-trusted-setup-cli contribute
If you had any issues contributing to the ceremony, please contact our ceremony coordinator dcbuilder on Telegram.
How it was
Note
If you want to learn more about the trusted setup, watch the rendered explainer video: World Chain post.
Contribution totals (excluding the coordinator finalization contribution) are documented in this summary tweet by @dcbuilder:
OPRFKeyGenProof13:113OPRFKeyGenProof25:111OPRFKeyGenProof37:105OPRFNullifierProof:104OPRFQueryProof:104
Full ceremony artifacts, verification transcripts, the explainer video, manim source, and contribution attestations
are stored on the trusted-setup orphan branch to keep the main branch lightweight.