Blockchain technology revolves around the usage of many cryptographic methods, privacy features, and security protocols. One particularly important cryptographic implementation is found in the concept of Zero-Knowledge Proofs.
The central basis of Zero-Knowledge Proofs is anonymizing sensitive data so that an individual can still confirm his knowledge of it without revealing the data itself - like confirming your digital identity without unveiling anything apart from your name.
An entertaining food for thought is the concept of using Zero-Knowledge Proofs to disclose information relating to nuclear warhead verification without exhibiting its design, among other secrets. Apart from that, ZKPs can also have other more realistic use cases, which we will discuss in later sections.
ZKPs’ real adoption is thought to occur in the blockchain industry, where it can have more than one role. The goal of this article is to explain the inner-mechanisms of Zero-Knowledge Proofs and showcase their existing and potential implementation in blockchain networks.
What are Zero-Knowledge Proofs?
Zero-Knowledge Proofs are a cryptographic method wherein one entity can relay any data to another party without exposing sensitive information. In practice, this would mean that we confirm our knowledge regarding a data point without revealing the data point itself.
If a social media user wishes to verify their account, they are usually required to confirm their identity. If the confirmation process hypothetically entails providing a social security number, the user would be at a security disadvantage given that:
A) Critically sensitive information is given away to a private company
B) The data can be potentially leaked to a 3rd-party
As we can see, what can be thought of as a simple informational transaction can lead to disastrous outcomes.
Zero-Knowledge Proofs step in by authenticating the user’s identity without revealing the SSN. Instead, the user (prover) relays a different kind of information to the social media platform (verifier).
ZKPs have a mountain of use cases within the realm of cybersecurity alone. By using them, internet users could, for example, log in to an app without providing a password. From the perspective of verifiers, a payment protocol could check someone’s bank account balance and complete a transaction without obtaining any other information besides the balance.
Zero-Knowledge Proofs in the blockchain industry
While blockchain networks are thought to be private and anonymous, the real truth is that they are more public and transparent than any other system, particularly financial ones. A blockchain network like Bitcoin reveals all kinds of information, and all of its transactions are public and distributed to thousands and thousands of nodes.
When we create a transaction by sending a payment to another wallet, the transactions reveals:
Who sent the transaction
Who received the transaction
How much value the transaction transferred
The positive sides of such a system are obvious, but let us for a second think about the negative consequences. If an anonymous millionaire concludes a valuable deal (like buying a painting), the transaction becomes public and anyone can use it to track other financial activities conducted by the same address. If the real identity of the wallet’s owner is discovered and publicized, the millionaire is no longer anonymous and, in turn, becomes exposed to various real-world threats.
If Bitcoin used ZKPs, this issue would be avoided in its entirety. The transaction would be completed as no sensitive information would be revealed to other users on the network. At the same time, the blockchain would still be able to verify the transaction despite it being encrypted.
Implementations of ZKPs in blockchain networks
Zero-Knowledge Proofs are gaining traction in the blockchain industry as of recently. Developers of so-called privacy coins focus on customizing existing implementations or creating new ones. In the past few years, we have seen ZKP features in protocols such as Monero and two Mimblewimble protocols called Grin and Beam.
ZCash, a popular privacy solution on the blockchain, is the first cryptocurrency to feature Zero-Knowledge Proofs. Its implementation, called zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), makes it possible to ‘shield’ (encrypt) transactions while still being able to be verified by a blockchain using native consensus rules.
zk-SNARKs notably function by removing the need for interaction between the prover and verifier. This results in the verification process only taking a few milliseconds. According to ZCash developers, the proof is also lightweight and only takes up around a few hundred bytes of space on average.
Due to its high complexity, we will not touch upon the exact mechanism of converting a prover’s knowledge into zk-SNARK proof in this article, but rest assured knowing that you will encounter the topic in a future post. For now, it is worth enough to understand that ZCash's implementation does indeed work in the fashion in which it is described.
Zero-Knowledge Proofs were for a long period of time an abstract and theoretical concept, but as of lately more and more practical solutions are surfacing. While the cryptographic method is correctly implemented in the blockchain industry, there are still obstacles that prevent it from being adopted from a retail-to-institutional level in the real world.
The first obstacle is the lack of standards. There are yet no unified and connected systems that set standards for how Zero-Knowledge Proofs function and how provers interact with verifiers.
In non-blockchain systems, there is also the fear that legacy infrastructure cannot handle processing ZKPs. There are also technical concerns as to how the verification could take place by brute-forcing a repetition of different proofs.
The most challenging aspect of Zero-Knowledge Proofs is their sensitivity to potential information loss. In the case that a user loses the proof required in this process, he will no longer be able to authenticate the information to a verifier or view the data associated with it.
The opportunities presented by Zero-Knowledge Proofs are truly vast. In an era where information is the real currency, protecting one’s privacy holds more value than the data revealing it. This is especially important now that cyberattacks are becoming more regular and that data leaks are no longer a rare occurrence.
While there are yet no retail solutions in the real world, blockchain developers have managed to create ingenious designs that process the verification on-chain, usually in a matter of seconds.
ZCash is the most popular cryptocurrency known to implement ZKPs, this case, in the form of zk-SNARKs, and other privacy coins have followed suit seeing its success. In the future, Ethereum and Bitcoin developers may take the lead by attempting to add the same feature to their own networks. For now, Ethereum is the leading candidate of a more prominent and larger blockchain ecosystem implementing ZKPs.
About The Author:
Marko is a crypto enthusiast who has been involved in the blockchain industry since 2018. When not charting, tweeting on CT, or researching Solana NFTs, he likes to read about psychology, InfoSec, and geopolitics.