Monopolies like Facebook and Amazon, they track our every move, they monitor every moment in our lives and they exploit our data for profit. These companies are the kings and they rule over kingdoms far larger than any nation in human history. They won; we lost. …The way we win is by creating a new, democratic, decentralized Internet, where it is the users, not the kings who have sovereign control over their data. An Internet that is of the people, by the people and for the people.
— Richard Hendricks, “Silicon Valley”
We desire a decentralized Internet where the users can have sovereign control over their data. And we have seen great endeavors like Self-Sovereign Identity and Solid trying to put data into the hands of users. But your data are often of little use if you don’t share them with others. For example, one needs to share their financial and credit data with a bank in order to get a loan. But one loses control over these data once they enter the database of the bank. It sounds like a deadlock…
Is it possible that we can share our data with other people without actually sharing them? Enter Zero-Knowledge Proof (ZKP).
Zero-knowledge proof is a cryptographic technology which enables you to prove that you know a secret without revealing it. In the world of computer science, we say ZKP is used to prove computational integrity—you can prove the computation on your data is correct without showing the input or the process of the computation. As such, you can prove to a bank that you are qualified to get a loan of 10K USD without actually showing your data, or getting a compensation from an insurance smart contract without feeding the details of your healthcare record into the smart contract. We name this new paradigm of computation as Self-Sovereign Data and Self-Proving Computation. Tons of novel and interesting applications will be unlocked.
However, it requires tremendous expertise to construct a ZKP for certain computation. This hinders the adoption of this powerful technique for everyday use. zCloak Network aims to solve this problem by providing ZKP as a Service (ZKPaaS) for parachains in the Polkadot ecosystem. It uses zk-STARK instead of zk-SNARK for proof generation and verification of general purpose computations. By using the toolkit offered by zCloak Network, a parachain can quickly and easily generate the proof circuit (AIR in zk-STARK) for their business logic and have their user generated STARK proofs verified in the zCloak Network. This will be a perfect showcase of cross-chain interoperability of the Polkadot Network. We expect to see many novel use cases such as identity, credential, NFT, oracle and DeFi in the Polkaverse based on zCloak Network.
zCloak Network is a Web3 foundation grant project (formerly known as the Starks Network project). The project milestone has been finished and delivered in Dec. 2020. Currently the project is in the waiting list of the Rococo V1 testnet. It will test cross-chain ZKP verification with other parachains in Polkadot.