ZK-SNARK Trusted Setup Ceremony

Understanding ZK-SNARK Trusted Setup

This educational PoC demonstrates the key concepts of a ZK-SNARK trusted setup ceremony, a critical process in establishing privacy-preserving blockchain protocols.

Key Components

  • Multi-party computation process for generating proving/verifying keys
  • Toxic waste management through distributed trust
  • Entropy accumulation via participant contributions

Ceremony Phases

  • 1.Initial Setup: Generate base parameters (Phase 0)
  • 2.Contribution: Multiple parties add randomness (Phase 1)
  • 3.Verification: Ensure ceremony integrity (Phase 2)

Implementation Details

  • • Each contribution adds 256 bits of entropy using secure random generation
  • • Contributions are combined using XOR operations to maintain randomness
  • • Progress tracking requires 10 participants per phase
  • • Final verification ensures all contributions were properly integrated
Initial Setup
Phase 1
Verification

Initial Parameters Setup

Generating base parameters for semaphore-voting with 1000000 constraints. Merkle tree depth: 20

Multi-Party Contribution

Adding entropy to the ceremony. Each contribution strengthens the privacy guarantees. Current entropy pool: ...

Parameters Verification

Verifying ceremony integrity. Public signals: 3, verification key hash: undefined...

Participants

Current Phase: setup

10 more contributions needed