WTF is Zero-Knowledge

WTF is Zero-Knowledge

It seems like ZK-rollups have taken over tech Twitter. Everyone is talking about it. Everyone is deploying it. But wtf is Zero-Knowledge?

Bigger than blockchain

A while ago I asked a good friend of mine, Tony, how it's possible that decentralised identity solutions and scaling solutions both use zero-knowledge technology.

While I was asking this question I realised I didn't even know what Zero Knowledge Technology was...

That night in Lisbon I learned my first lesson about Zero Knowledge Principles, which is the basis for understanding every single piece of technology that makes use of Zero Knowledge Proofs. I also learned that it's bigger than blockchain.

Disclaimer

I'm going to dive into Zero-Knowledge more, but in the context of blockchain. Even though I just told you it's bigger than blockchain. I guess a better way to put it, is that it can be applied outside of blockchain.

The Goal of Zero Knowledge

"To prove something without providing the details of what it is you're proving"

So an example would be, what if I can prove I'm over 18 without showing you my ID card? Immediately you might think how? Let's say you have a badge that you would only be provided with if you were over 18. Then you go to a bar, show the badge and you enter. The bar hasn't seen your name, date of birth, or anything really.

The goal of Zero Knowledge has been achieved here. You were able to prove you were over 18 without sharing your date of birth.

The 3 Principles

Before we talk about how you got that badge or how this would even work with technology, I want to talk about the 3 principles every tech powered by Zero-knowledge needs to comply with. Completeness, Soundness, Zero-knowledge.

Zero-knowledge

Let's start with the easy one. The underlying data or information shouldn't be shared. In the example of the bar, I didn't share my date of birth, but a 'proof' (ie the badge) that I'm over 18.

Soundness

Yes, I'm going in reverse. Soundness refers to the proving system responsible for generating the proof, in our example the badge. It ensures that a dishonest or malicious prover cannot produce a convincing proof for a false statement. In other words a badge is generated for someone who is below 18. This would mean that the proof/badge isn't actually valid, while it would pass the verification process. So as simple as it may sound, it is of essence that the proof itself is sound as well as the proving system that generates the proof.

Completeness

When a 'proof' is checked, the only outcome can be correct or incorrect. So if I have a badge that says I'm over 18, the bar has "all" the information to check if I'm over 18. The outcome of that exercise is either I'm verified as over 18 or not.

Closing out

Congratulations. You are now a zero-knowledge EXPERT. Joke...

For real though, understanding these three principles and the example above was fundamental for me to understand zero-knowledge applied to technology.

I'm writing these articles in bit sizes. So sorry if I'm leaving you hanging here. I'm going to continue writing about how this is applied to privacy and scaling solutions in my next episodes.

Further reading/Resources used

Never use a '/' in a heading. Whatever.

Below you can find a list of articles & video's I used to learn about Zero-Knowledge proofs. Definitely recommend reading and watching them. I'm not going to do the whole Harvard referencing, just click the link.

Articles

Ethereum article on Zero-knowledge proofs

Zero Knowledge Proof And Its Importance To Web3

Zero-Knowledge Proof – How It Works

Video's

Computer Scientist Explains One Concept in 5 Levels of Difficulty | WIRED

Zero Knowledge Proof - ZKP