Probably the most discussed topic at Ethereum Devcon in Prague this year were zero-knowledge proofs. A cutting-edge technology promising solutions in the field of privacy and scalability of Blockchains. Author: Fabrice Gürmann

Man looking through office blinds

The concept has the potential to solve today’s emerging problems related to individual data privacy and corporate data integrity. Zero knowledge proofs (ZKPs) are proofs that do not reveal any information except the truthfulness of the statement being proved. This blog introduces a simplified explanation of the technique and discusses potential use cases.

Nowadays one needs to provide all kinds of data whenever one logs into an online service to authenticate. Hence, one shares a lot of private information. Furthermore, with the rise of Internet of Things (IoT), machines will need to authenticate themselves on an ongoing basis and many will contain sensitive information. Whenever a person or machine exchanges data, it is exposed to a data breach. Here ZKPs offer a promising solution, as one can authenticate her/himself without sharing sensitive information.

zkp model

Zero knowledge proofs allow the creation of a proof that a given computer program and set of inputs lead to the computed set of output values. Hence the integrity of the computer program is verified, but not that the correct input values to that program have been used. In the case of ZKPs the created proof only reveals a subset of the used input values, which also can be zero. This enables privacy with respect to a 2nd party which wants to verify the correct execution of the program. As the computer program needs access to the input values the prover must have access to this data, hence input data cannot be hidden from the prover. The solution for these use-cases always has two parts:

  1. Data grounding: In order for a computation to prove valuable, the data that is fed into the computation must be grounded as well. Otherwise the system can be flawed with “garbage in, garbage out”.
  2. Computation: Use verifiable computation schemes (with zero-knowledge) to prove the computation is correct without revealing the data.

ZKPs have gained more and more public attention with the rising interest in Blockchain technology. Nevertheless, it was first described by Goldwasser, Micali and Rackoff in 1985. So more than 20 years before the publication of Satoshi Nakamoto’s whitepaper on Bitcoin. Concerning Blockchain technologies ZKPs can solve privacy and scalability problems. In addition, ZKPs offer powerful tools to enable a safer Internet of Things economy. Another supporting trend is the risk of data breaches / hacks, e.g. Facebook.

“In order to comply with applications and regulations, data provision to unacceptable levels was a given. As a result, data privacy is an unsolved problem. Now with the advent of ZKPs, if handled meticulously, we will have a solution for compliance and access to applications with no compromise on privacy for the first time. “
Chaitanya Konda (Head of ZKP R&D, EY Global)

The views reflected in this article are the views of the author and do not necessarily reflect the views of the global EY organization or its member firms.

Please note that this is part of a continued series, for the second part please press here.