Zero-Knowledge Proofs, Explained

What is a zero-knowledge proof?

A zero-knowledge proof is a digital protocol that allows for data to be shared between two parties without the use of a password or any other information associated with the transaction.

In its most basic sense, a zero-knowledge proof (also commonly referred to as ZKP) can be thought of as a protocol through which a digital authentication process can be facilitated without the use of any passwords or other sensitive data. As a result of this, no information, either from the sender’s or receiver’s end, can be compromised in any way.

This is quite useful, especially since such a level of safety provides tech enthusiasts with an avenue to communicate with one another without having to reveal the content of their interactions with any third party.

The idea underlying zero-knowledge proofs first came to the fore back in 1985, when developers Shafi Goldwasser, Charles Rackoff and Silvio Micali presented to the world the notion of “knowledge complexity” — a concept that served as a precursor to ZKPs.

As the name suggests, knowledge complexity acts as a metric standard to determine the amount of knowledge required for any transaction (between a prover and verifier) to be considered valid.

Where are ZKPs actually employed?

Zero-knowledge proofs are used by government agencies to determine the origin of certain data without them having to prove how or where they got the information from. 

Since their inception, zero-knowledge proofs have been used across a wide array of digital domains. For example, researchers have used this technology for creating novel digital identification mechanisms that do not require users to reveal any sensitive information related to them.

In this regard, several examples exist of self-sovereign identity platforms that allow third-party personnel such as law enforcement agencies to determine whether an individual has a valid driver’s license without the person having to hand over anything other than their ID number.

Similarly, governments can also use ZKPs to determine the nuclear capabilities of various militaries without having to spy on or inspect their inventories. On the subject, it can be seen that in July of this year, the Defense Advanced Research Projects Agency, or DARPA, released a statement in which it claimed that it was working on a new project called SIEVE — i.e., Securing Information for Encrypted Verification and Evaluation — that makes use of ZKPs to determine the origin of highly secure data without the U.S. government having to reveal the way in which it was acquired.

Can ZKPs be integrated into blockchain platforms?

Zero-knowledge proofs offer a lot of benefits to blockchain systems that make use of the technology. For example, they help in making crypto transaction’s extremely secure thanks to their high-level of encryption.

Yes, a zero-knowledge proof can be very easily be used within the context of a blockchain ecosystem, especially in regard to validating cryptocurrency transactions without disclosing any data related to it — such as where the transactions originated from, where it went or how much money was transferred.

A real-world use case of this technology is Zcash, a crypto platform that employs a special iteration of zero-knowledge proofs (called zk-SNARKs) that allow native transactions to remain fully encrypted while still being verified under the network’s consensus rules.

With that said, even though zero-knowledge proofs possess a lot of potential to alter the way in which today’s data systems verify information, the technology is still considered to be in its nascent stages — mainly because researchers are trying to figure out how to best use this concept as well as determining any potential flaws.

What advantages do zero-knowledge proofs offer?

ZKPs completely eliminate the need for passwords as well as the use of any other sensitive data when facilitating a transaction.

Zero-knowledge proofs allow for a transfer of information to take place between two parties without the originator having to use a password or reveal any data related to him/her. This helps weed out many of the potential risks that are involved with the use of password-only authentication protocols. Additionally, ZKPs also help in bolstering the security of a person’s online payments/transactions and public cloud accounts.

The only potential downside to using zero-knowledge proofs is that in case the originator of a transaction forgets his/her source passcode, all of the data associated with the transfer will be lost forever.

Notable use cases

Over the last two to three years, a number of platforms have adopted zero-knowledge proofs in order to bolster their native security/privacy capabilities.

ZoKrates is a digital toolbox that can be used by skilled developers to devise and verify zero-knowledge proofs using Solidity — an object-oriented programming language used for creating Ethereum-based smart contracts.

Similarly, a couple of years ago, JP Morgan Chase adopted Zcash’s zk-SNARKs-based proof of concept to bolster the privacy of its native blockchain ecosystem called Quorum. Simply put, Quorum is a fork of the Ethereum blockchain that makes use of its very own smart contract language called Constellation.