Zero-knowledge proofs — A method to conserve privacy.

Pranshu Rastogi
3 min readOct 5, 2020

--

Zero-knowledge proof. Source — https://www.pexels.com/photo/meter-at-0000-1364700/

Without throwing n analogies and some complex definition. Let me first tell you what zero-knowledge is —

The person you’re proving to doesn’t learn anything more than the bare fact that you’re proving.

I know, I know that the above context is not very well digested by all of you. So, let’s try to understand with an analogy -

For instance, say I want to prove to you that I know the secret about how to play cricket and this secret helps me pull the ball out of the boundary every time [hit a six]. Since this is something that most people can’t do, if I can demonstrate this somehow then you’d be pretty sure that I do know a secret.

But, how would we prove something like that?

Well, one of the scenarios is to invite you on a cricket playground and you ball me enough deliveries and I hit all of them out of the park that you’re pretty much convinced that I really know the secret that I claim. But at the same time I didn't have to share the exact secret to prove that I had it. This is basically a zero-knowledge proof.
Before jumping to any conclusions, there are a couple of things that we have to keep the note of —

1. I could’ve been lucky (Beginners luck!).

So, you just throw me enough balls to satisfy that it can’t be just luck. Basically, this kind of proof is classified as interactive proof.
If we’re doing this same thing with some data then we have to provide a lot of value to satisfy that it is not a piece of luck and there is some secret out there.

Other, thing about the interactive proof is that —

2. This proof is just convincing to you.

Maybe someone else who is watching the match between you and I feels suspicious and may think that it is some kind of trick and will not be convinced enough. As they’re not the part of the interaction, there is no way to convenience them that there was no trick or foul play when you delivered me the ball.
This led us to discover other terminology i.e, —

Non-interactive proof — Proof where the secret holder can create a proof without relying on anyone else.

Let’s try to understand this too with the help of an analogy.
Suppose I have a fair 52 poker cards deck, which includes 26 Red cards and 26 Black cards. Initially I can show everyone the deck and proof the same. Then I shuffle a deck and remove a card and see myself that card is of Black color. Now, I want to prove it to you all that card is Black but without revealing the exact card I am holding.
Well, in this case there is a trick. I can go to the deck all over and reveal all 26 Red cards in front of you all. Once you see all the Red cards, anyone who is watching my proof can be sure that I am holding a Black card that too without any interaction.
So, that’s how non-interactive proof works like, you can prove anything without interacting with anyone.

There are various techniques that you can use for zero-knowledge proof. For e.g, Ring signatures and zk-snarks.

Concluding this article, that Zero-knowledge proof is a method to prove the data without actually revealing the data.

If you have any queries do let me know.

# Happy Blockchaining.

Follow me on -

Twitter- @Pranshu3196

Linkedin- Pranshu Rastogi

Github- Pranshurastogi

--

--

Pranshu Rastogi

Blockchain || ZKP || Queerly curious 🧐|| Empathy resonates 💗 || Learn & Grow together