Parameter Generation
Parameter Generation and Trusted Setup
This document describes the parameter generation process and trusted setup ceremony for the Roru Protocol's zero-knowledge proof system.
Overview
Purpose
Generate the proving and verifying keys needed for zero-knowledge proof generation and verification.
Setup Types
Trusted Setup: Requires trust in setup participants.
Verifiable Setup: Setup can be verified but still requires some trust.
No Setup: No setup required (if possible).
Groth16 Setup
Setup Process
Phase 1: Powers of Tau
Generate random tau
Compute powers: tau, tau^2, ..., tau^n
Publish powers (without revealing tau)
Phase 2: Circuit-Specific
Generate random alpha, beta
Compute circuit-specific parameters
Combine with powers of tau
Setup Output
Proving Key: Used to generate proofs Verifying Key: Used to verify proofs
Multi-Party Computation
MPC Setup
Process:
Multiple participants
Each contributes randomness
Combine contributions
Final parameters computed
Security: As long as one participant is honest, setup is secure.
Ceremony Structure
Ceremony Steps:
Participant registration
Contribution phase
Verification phase
Finalization
Parameter Format
Proving Key
Key Structure:
Circuit-specific parameters
Precomputed values
Optimization data
Verifying Key
Key Structure:
Public verification parameters
Circuit structure
Verification data
Security Considerations
Trust Requirements
Trust Model:
Trust in setup participants
Trust in ceremony execution
Trust in parameter distribution
Mitigation Strategies
Strategies:
Multi-party computation
Public ceremony
Verifiable contributions
Transparency
Parameter Distribution
Distribution Method
Distribution:
Public verification keys
Secure proving keys
Hash verification
Signature verification
Verification
Verification Process:
Download parameters
Verify hash
Verify signature
Use for proofs
Conclusion
Parameter generation provides:
Security: Cryptographic parameters
Trust: Transparent process
Verification: Verifiable setup
Distribution: Secure distribution
Confidence: Trusted process
Understanding setup is essential for security.
Last updated
