On Zero-Knowledge Proofs (ZKPs) And Why They Matter
There is a lot of enthusiasm for the application of zero-knowledge proof systems, at Dusk Network we’ve developed the open-source PLONK zero-knowledge proof system
. It can be used for many things, and what better way to demonstrate its potential with an example!
Consider that you’re applying to rent a house. Anyone familiar with the process (especially in heated housing markets!) knows that it is quite likely to take multiple solicitations, and for every single one of them you’ll have to send your income statements, copies of your ID and other personal information to verify that your claim of being a suitable candidate fits the housing agencies parameters, and is in fact valid.
On the housing agency side there is demand for this solution too - they need to do validity checks on all of the documents provided, which can be erroneous (or faked). It takes up a lot of time and is a costly undertaking.
So how would zero-knowledge proof systems come into play? What it takes is a trusted app that only you can control (e.g. your mobile bank app or a Govt ID app) to produce a committed value. This committed value holds the key information about your income statement (which this agency warrants is true), and you use this value to prove via the zero-knowledge proof system to the verifier (i.e. the housing agency) that you are eligible for the house.
Zero-knowledge proof systems protect privacy. Let’s face it, in today’s world data equals power
Without diving too deep into the magician’s hat of cryptography, let us explain the conceptual mathematics by means of apartment seeker Peggy and housing agent Victor. For starters, Peggy and Victor agree on a known mathematical model, or zero-knowledge proof system, which has a very special capability. With Peggy repeatedly selecting random values and proving equations, Victor can confirm that she indeed has knowledge of value x. It works as follows.
Given a random value, r, selected by Peggy, Victor asks her to prove either equation A, or equation B. Peggy knows how to perform both equations, and could easily come up with a random value to be correct for one of both equations. However, without knowledge of value x, she cannot calculate A from B, and B from A, and has therefore a coin flip chance of convincing Victor. And not knowing beforehand whether Victor asks to solve equation A or B, Peggy would have to be extremely lucky to convince Victor without knowledge of x, if this experiment were to happen repeatedly for different values of r and a large number of n times. This basic prover-verifier flow of a zero-knowledge proof system can be found below.
Essentially, zero-knowledge proof systems perform a series of cryptographic operations with the end-result being a mathematical proof that can be checked by the verifier, to verify that you have computed the proof honestly. And luckily, there are no manual calculations involved for Peggy and Victor.
The income statement use case is just one of many things that can be done with the powerful ‘zero-knowledge’ privacy-technology. There is so much more!
Think of blockchain-based systems where status updates are shared through the network, without any sensitive data being revealed to the public, or proving that you are part of a whitelist - without sharing who you are, or proving that you are 18+ of age without sharing your birth date.
Yes. It’s close to magic.
Stay tuned for our next article on Plonk, hero of the zero knowledge proof systems
Stay tuned for our next article on Plonk, hero of the zero knowledge proof systems or catch up on more of our articles or tech demos on our website.
Subscribe to get your daily round-up of top tech stories!