Why we need Zero Knowledge Proofs | Glue Labs

Post

editor-img
Glue Labs
Feb 19, 2023

Why we need Zero Knowledge Proofs

ZK proofs are a better solution for ensuring trust for all kinds of contractual and financial interactions.

media

Contractual and financial interactions or transactions between one or more parties require Computational Integrity.

For e.g. when we send money to someone online or make a payment, then our account balance and the receiving person's account balance will be correctly updated.

All calculations will be done correctly and no one will lose any money.

For this we have always trusted institutions which manage our money. That is the centralised way of doing things.

It is convenient and works most of the time. But yes money also gets stolen and misused.

So if you can't trust institutions, then who can you trust?

We can trust blockchain solutions, which are decentralised tech for Computational Integrity.

So the way the blockchain solutions creates decentralised trust is by allowing everyone to run the computation themselves and then come to a consensus.

This creates two new issues:

1. Privacy: Since everyone can run the computation, this leads to lack of privacy.

2. Scalability: To allow more people to run computations so that we are truly decentralised, we have to assume limits on computation power of the hardware people are using. This in turn limits the throughput of this computation network.

So how do we make a decentralised system that's also Private and Scalable?

That's what Zero Knowledge proofs help us with.

ZK proofs have two parties, a Prover and a Verifier.

The Prover does the computation and creates a proof, which doesn't reveal any private data.

The proof contains zero knowledge of the private inputs that were used in the computation.

Then lots of decentralised Verifiers can individually verify this proof and come to a consensus about the integrity of the computation.

Additionally the proof can be verified in exponentially less time than actually doing the computation itself.

So this makes the decentralised proving and consensus exponentially more scalable.

What does exponentially scalable look like?

Typical blockchain system, everyone does the actual computation.

So if each transaction took 1ms, then 10K transactions would take 10K ms or 10s, and 1M transactions would take 16.67 mins.

But to verify proof for 10K transactions will take 9.2 ms and to verify proof for 1M transactions will take just 6.9 seconds.

Types of Zero Knowledge Proofs

There are many different approaches to creating Zero Knowledge Proofs.

The 3 key families of proofs are:

1. SNARKS

2. Bulletproofs

3. STARKS

A nice overview of the different ZK proofs based on their characteristics is shared in this article: https://medium.com/starkware/the-cambrian-explosion-of-crypto-proofs-7ac080ac9aed


Checkout related posts on: