June 12th 2020
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
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.
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