Root docs
Repository viewer
Legacy docs parity surface
Back to repository viewer
Repository document
ZK Architecture
zk-architecture.md
Boundary
This route preserves legacy markdown access inside the Next.js surface. The raw repository file remains authoritative.
Open raw fileZK Architecture
Current Position
PrivateDAO's live protocol is still the deployed commit-reveal governance system. The zk layer is now an additive stack for privacy-preserving proof generation.
Flow
vote tuple
-> vote witness
-> Groth16 vote proof
delegation tuple
-> delegation witness
-> Groth16 delegation proof
revealed tally sample
-> tally witness
-> Groth16 tally proof
public review signals
-> verifier checksBoundaries
On-chain today
- proposal lifecycle
- treasury execution
- timelock enforcement
- account binding
- replay resistance through lifecycle and execution guards
Off-chain today
- zk witness generation
- Groth16 proving
- verification key management
- proof verification
Circuit Inputs
Vote layer public
proposalIddaoKeyminWeightcommitmentnullifiereligibilityHash
Vote layer private
votesaltvoterKeyweight
Delegation layer public
proposalIddaoKeyminWeightdelegationCommitmentdelegationNullifierdelegateeBindingweightCommitment
Delegation layer private
delegatorKeydelegateeKeysaltdelegatedWeightactive
Tally layer public
proposalIddaoKeycommitment0..1yesWeightTotalnoWeightTotalnullifierAccumulator
Tally layer private
vote0..1salt0..1voterKey0..1weight0..1
Security Goal
The zk stack is designed to prove that votes, delegations, and tally samples are well formed without forcing every verifier to inspect the private witness directly.
That gives PrivateDAO a concrete zk migration path while preserving the current live protocol surface.