The question of “can we really become the true owner of our data and fully get control over it” has always been there. The journey has started in the 1990, when three MIT researchers Shafi Goldwasser, Charles Rackoff and Silvio Micali, came up with the idea of zero-knowledge proofs (ZKP) described in the Knowledge Complexity of Interactive Proof Systems paper and the idea that companies do not require to store clients credential information to allow them to benefit from their services became widespread. Individuals, the actual data owners, started demanding to decide what could be done with their data.
ZKPs are cryptographic algorithms deployed to prove the possession of a piece of information without being required to reveal the content of that information. In mathematics, ZKP algorithms create a series of puzzles that, when solved correctly by the receiving party, prove their honesty. The ZKPs became a robust tool for many applications, such as e-voting protocols, anonymous credentials and most notably blockchain. However, they should be scalable to apply proof systems in real-world scenarios. The verification process needs to be quick, no matter how expensive the computations are. It also should hide some information about the transmitted data and its recipients, and here comes the essential need for the zero-knowledge part. Utilising the small verification process, ZKPs can become handy even in replacing protocols such as Merkle Trees widely used today in most of the blockchains.
ZKPs have been massively researched to achieve privacy and scalability in the last decades. The breakthrough happened with the invention of zk-SNARK, explained in Short Pairing-Based Non-interactive Zero-Knowledge Arguments and improved later in On the Size of Pairing-Based Non-interactive Arguments by Groth et al. in 2016. The zk-SNARK is popular now because of its short proof length and efficient verification mechanism. It is the core zero-knowledge-proof system of many blockchain-based protocols. It is paving the way for becoming an accessible tool to use in people’s everyday lives. As Vitalik Buterin, co-founder of Ethereum said, “to keep the Ethereum ecosystem open and to welcome people without a mathematics degree, making zero-knowledge proofs understandable and accessible is necessary.” ad this is the mission we align with at soonami. However the paragraph above not necessarily could be easy to process, then let’s think of some examples — as part of our daily life we are forced to reveal our data in a lot of situations, if we won’t, some products and services won’t be available to us. We must prove to the bank that we have a certain income to convince them to get a loan. We show our passports to an officer at the airport to enter another country. If we have a club membership card at the entrance, we should also show our ID card to prove we are legitimate owners of that membership card.
Now we can not only imagine but build a world where our personal data or credentials are not stored to verify our legitimacy. Where accessing various services does not require revealing the complete information of our IDs. In a traditional internet world, often described as a web 1.0, we could only deliver information through static web pages. Web 2.0 allowed social media sites to take the lead, where central authorities were responsible for storing and moderating data transactions. Today while shifting to the web3.0 and emerging blockchain technology, data storage and management can be modernized. Central setup is no longer required in a decentralized world by switching to peer-to-peer data transactions.
Web 3.0 and its benefits, such as transparency, immutability, and decentralization, lead to more invisible data flow in instances of blockchain. Therefore, the chance of preventing personal information compromises decreases. However, data integrity in this setting still needs to be solved. Here again, comes the importance of zero-knowledge proofs to tackle the problem.
ZKPs became a great tool for the blockchain, providing flexibility and control over their (sensitive) information, a critical part of web 3.0. What if you are no longer required to type your passport number, which endangers your age, name, date of birth, etc., to reserve a flight ticket? The agencies can validate your identity by leveraging ZKP protocols without asking for your passport number. The safety of the prover sounds like a straightforward process; it brings trustworthiness to web3 and guarantees protection for user information. ZKP for web3 offers data privacy and preserves data integrity. Thanks to ZKP for blockchain, genuine data owners have total control of their data in a growing world full of malicious activities and personal data compromises.
Authored by: Mina Namazi, Applied Cryptographer at soonami.io