Disclose is Facebook Connect for Blockchain. It leverages Zero Knowledge Proof schemes to ensure consistency and trust in the provided data while hiding them to the rest of the world.
- Private: Trade tokens without revealing to everyone who you are
- Crosschain reusability: As simple as Facebook connect for the blockchain
- Minimal: Answer compliance requirements with as much as a O or 1
- Auditable: Only the authorized people can access the underlying data upon request
The protocol seeks to serve as an open standard to lower friction in permissioned environment, especially for KYC certification. It allows Users to prove themselves to Companies, leveraging trusted third parties known as Authorities.
An user registers once all its informations to the Authority, in the shape of verifiable merkle tree. The authority validates the knowledge of the merkle tree and the information it contains. Upon validity, he signs the root with his private key and returns the message and signature to the user.
The user can now used his knowledge of the merkle tree and of the signature with any Smart Contract that trusts the Authority and simply prove that he passes the requirements. The data and the proof simply needs to be transfered during the transaction. There is no more need for pre-registry or whitelisting to trade compliance products if a Smart Contract uses Disclose.
More information and details is available on the whitepaper in Github. The current implementation is a pure PoC, not ready for production. The two videos are meant to explain the data validation part generated by the user for the authority (https://youtu.be/_pMUf6ox3vY ) and the second show the validation of the snark OnChain (https://youtu.be/vghPIw6t_JU). Unfortunately, we did not have enough time to integrate with a filter as suggested by 0x in their compliant peer to peer trading blog post (https://blog.0xproject.com/compliant-peer-to-peer-trading-4dab8e5c3162
The contract is available on Rinkeby on the following address: 0xFBA7Bc3EA5A16246844D730a6168Af4A96373aA3