Protocol
Trust and security

Trusted setup

Where Umbra's Groth16 keys came from, and what their soundness rests on.

The six Groth16 verifying keys compiled into the shielded pool, one each for the transaction, nullifier-freshness, registration, batch-append, fee-collection and escape-hatch circuits, were produced by a multi-party trusted-setup ceremony. As with any Groth16 setup, their soundness depends on at least one participant in each phase acting honestly and destroying their secret contribution. If every participant in either phase colluded or kept their contribution, they could make proofs that verify without a witness. The escape hatch needs nothing but such a proof, so a compromised escape-hatch key could withdraw from the pool token accounts with no attester involved.

Last updated

On this page