Repository navigation
·
30 commits
to main
since this release
Gloam's trusted setup is complete. These are the final keys for the six mainnet circuits: shield, unshield, transfer, solvency (proof of funds), receipt (proof of payment) and payroll_total.
How they were made
- Phase 1: the public Hermez Powers of Tau (
powersOfTau28_hez_final_16.ptau, 54 contributors). - Phase 2: thirteen contributions in turn on 17 October 2026, by Gift, Duke, deviykee, Sage, wilcardjayx, GodwinXbt, Romeo, Maverick, SamY, Bob, Xavier Okolie, ubadineke and Viktor. Every round was checked against round 000 and phase 1 before the next person took it, and each one is a release on this repo.
- Sealed with drand mainnet round 6561386 (17 October 2026, 21:30 UTC), announced in the transcript an hour before it was published. Randomness
ea1786e93767a0b14fe2d5687006a9229fb9c7fd6dee79ddc6eaecae2a2971ec, applied to round 013 with 2^10 iterations.
If even one of the thirteen contributors threw their randomness away, nobody can forge a proof with these keys, including the Gloam team.
Files
<circuit>_final.zkey: the proving keys<circuit>_vkey.json: the verifying keys<circuit>.wasm: the witness generators (identical to the ones the app serves today)ShieldVerifier.sol,UnshieldVerifier.sol,TransferVerifier.sol: the on-chain verifiers for the mainnet contracts
Every hash and fingerprint is in TRANSCRIPT.md. To check that your contribution is inside these keys, see README.md.
These keys are for mainnet. The testnet app and contracts keep their development keys until the mainnet deploy.