A Simple Guide to Zero-Knowledge Proofs

Published on
22 May 2023
Author
Christine George
Content Writer
Subscribe to our newsletter
Read about our privacy policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

As netizens, we all give up our personal details in order to gain access to premium spaces and services like customised recommendations. In an age where information flows freely on the internet and anyone’s personal data could potentially be hacked, the need of the hour is a system that provides as less data as possible. Or even better? No data at all.


Introducing zero-knowledge proofs, or zero-knowledge protocols, an encryption system by which a first party (the prover) can prove a given statement to a second party (the verifier) without actually sharing any additional information, except the fact that the statement is true. This allows for data to be verified without revealing the data itself, which is a revolutionary advancement in the field of data security.


How it all started


Although ZKPs are currently utilised in the advancement of blockchain technology, their origin dates back to the 1980s when MIT researchers Silvio Micali, Shafi Goldwasser, and Charles Rackoff invented the concept of “knowledge complexity”, which is a measurement of the amount of knowledge about the proof which was transferred from the prover to the verifier.


For a zero-knowledge proof to be considered legit, it must fulfil three basic prerequisites:

  1. Completeness: If the statement is true, the prover must be able to convince the verifier that the statement is true.
  2. Soundness: If the statement is false, the prover must not be able to convince the verifier that it is true.
  3. Zero-knowledge: If the statement is true, then the verifier must not learn any information other than the fact that the statement is true.

What are the different types of ZKPs?


Zero-knowledge proofs fall into two categories: interactive and non-interactive. Interactive ZKPs require a series of questions to be answered and/or a set of actions to be completed before the knowledge can be deemed “sound”. However, this poses a problem — both the prover and verifier have to be online at the same time for the verification to be completed, which is not practical for real-world applications. Non-interactive ZKPs solve this issue by eliminating the need for interaction, relying instead on the usage of a hash function to choose a random challenge for verification. This method was developed by researchers Fiat and Shamir in 1986 which subsequently led to the invention of the Fiat-Shamir heuristic which converted interactive proofs into non-interactive ones.

Where and how can we use ZKPs?


Applications of ZKPs range from ensuring data privacy in areas such as health care, cybersecurity, and finance to unconventional uses in the field of weapons technology. Getting a loan without revealing your income, applying for health insurance without divulging personal details of your health and authenticating your password without disclosing it are just a few possibilities that can become a reality with ZKPs.

One of the classic usages of zero-knowledge proofs are in blockchain technology. Because blockchains are managed by multiple parties who each have access to the records and are able to view all transactions, they provide no privacy or anonymity to users. Zero-knowledge proofs combat this by providing a means to prove that the transaction was carried out correctly without revealing the data that was used in the transaction.

Challenges


Despite being a game-changer, zero-knowledge proofs are not without fault. Some of the prominent drawbacks of ZKPs include:

  1. Need for translation: Zero-knowledge proofs consist of mathematical computations which require the secret data to be in a numerical format, thus eliciting a need for translation.
  2. High intensity computations: ZKP algorithms require around 2000 computations which makes it time-consuming and inefficient, and unsuitable for slow or mobile devices.
  3. Lack of 100% certainty: Since zero knowledge proofs are based on probability, you can only reduce the chance of the prover lying and still convincing the verifier to a very small number, but never zero. So there is a chance that the protocol could be unsound, no matter how tiny it is.
  4. Possibility of data loss: Since no data is being shared during a zero-knowledge proof, the information rests with the owner only. If they lose or destroy their copy of the data, it is lost forever and the process has to be started all over again.

What is the future of ZKPs?


Zero-knowledge proofs offer a secure alternative for data security, and use simple algorithms and require no interaction between the parties involved in transactions unlike other cryptography solutions. Thus, it is quite likely that ZKPs will become widespread and essential in blockchain technologies in the coming days.