Zero knowledge proof, also known as a ZK protocol, is a verification method in which knowledge can be proven without its content being revealed.
There are two main parties to a ZK protocol: a prover and a verifier. The verifier authenticates the prover by asking it to perform tasks it can only do if it has the knowledge that is being verified.
Zero knowledge proof is especially useful in situations where privacy and security are critical, for example in authentication systems. Case in point, traditional banks use a similar approach when they ask you to verify your identity by giving them specific letters from a memorable word.
You never reveal the full word. But because you wouldn’t be able to answer accurately without knowing it, fulfilling this request proves you have the knowledge and confirms your identity.
A ZK protocol needs to fulfill three requirements.
The first of these is completeness. In other words, the prover must demonstrate their knowledge to a high degree of accuracy.
The second is soundness. This means the verifier must be able to show it is highly probable that the prover knows the information.
Lastly, the knowledge isn’t disclosed. The only thing the verifier will learn is that the prover’s claim that they have the knowledge is true.
Some facts
Shafi Goldwasser, Silvio Micali, and Charles Rackoff first developed zero knowledge proofs in 1985. But the concept was only applied to the blockchain for the first time in 2016.
Indeed, while Bitcoin is widely believed to be anonymous, all the information stored on the Bitcoin blockchain is publicly accessible. And Bitcoin transactions are easy to trace. In 2018, for example, the US Department of Justice busted a drug trafficking ring worth $12 million by tracking their Bitcoin transactions.
The first blockchain to use a ZK protocol was Zcash, a cryptocurrency designed to facilitate anonymous digital payments. It was created in a ‘ceremony’ during which the first private key was split into six pieces — or ‘shards’ — that were subsequently destroyed together with the computers that created them.
Unlike other privacy-focused cryptocurrencies, Zcash hasn’t faced too much regulatory scrutiny, mainly because transactions can also be sent publicly. As a result, when it launched on the Gemini exchange in 2018, it did so with the full backing of the New York State Department of Financial Services.
A network of developers have been looking at bringing privacy-focused smart contracts to the Ethereum These smart contracts could be used to create private tokens and private decentralised organisations.
Want to know more?
Goldwasser, Micali, and Rackoff’s paper — ‘The Knowledge Complexity of Interactive Proof-Systems’ — is particularly noteworthy for introducing the concept of ‘knowledge complexity’. This measures how much knowledge about the proof is transferred from the prover to the verifier.
The project seeking to bring zero knowledge proof to the Ethereum blockchain is code-named Aztec. This article explains how the project works in detail, including the rationale for it and specific use cases.
The METACO view
“Zero knowledge proof has the potential to be a huge step forward in blockchain technology. From fraud prevention to keeping sensitive personal information safe, there’s a vast number of use cases where it could greatly enhance security and data privacy.“