# zk KYC proposal
### KYC Issue
1. Honest users want proof that the crypto they interacted with is clean.
2. Blockchain builders want to keep blockchain free
3. Regulators want to get leverage of influence on the blockchain
4. Hackers want to mix stolen crypto with the crypto of honest users
### The Solution
The solution helping (1) and (2) is decentralized pseudonymous KYC on zkSNARKs. How is it working:
1. User get KYC certificates from some KYC providers
2. User makes zero-knowledge proof, that he has at least N not expired and not rejected certificates and bind this proof to his address
3. User encrypts all inner certificate hashes with threshold public key of DAO of KYC providers
4. Users can interact with other users and protocols with more confidence that do not interact with dirty money
5. KYC provider cannot de-anonymize the user, because all provider-related data is private inside zkSNARK.
6. The supermajority of KYC providers DAO can de-anonymize the user, but in case providers are located in different jurisdictions and de-anonymization requires complex MPC procedure, the user is considered to be safe until he does something considering a crime in all jurisdictions of the supermajority of KYC providers.