A zk multisig where the signer's address is hidden in the smart contract
A zero-knowledge multi-signature wallet that preserves owner privacy while maintaining the security guarantees of traditional multisig wallets. The wallet uses zk-SNARKs (Groth16) to prove ownership without revealing the actual owners' addresses.
This implementation combines:
Zero-knowledge proofs for owner privacy
Multi-signature functionality for enhanced security
On-chain transaction management
Replay attack prevention through attestations
Privacy: Owner addresses are never revealed on-chain
Security: Requires M-of-N signatures to execute transactions
Flexibility: Supports arbitrary ETH transfers and contract interactions
Replay Protection: Uses unique attestations for each signature
This implementation combines:
MultiSigWallet.sol
Groth16Verifier.sol
The zero-knowledge circuit (multisig.circom
) proves: