Cover photo

What are zk-SNARKs ?

Are you ready to learn about a game-changing technology that's making waves in the world of blockchain ? Today we're talking about zk-SNARKs!

post image

Let's start with what is `zk` in the zk-SNARK ?

post image

ZK stands for zero knowledge proof. It's a way of one party to prove that they know a certain piece of information without revealing anything about the information. Kinda confusing right ? Let's see an example...

Imagine we have a bunch of red dots on a sheet. And there is only one green dot. Our goal is to prove that we know the location of this green dot. Keep in mind that our information is secret and we can't reveal anything about the green dot. Here is how we can do it!
In the following image we are seeing an green sheet with dots now we will take another sheet that is brown and much bigger than the original sheet. And then we can cut a hole that's equally big as one dot. Now, all we have to do is move to our green dot and show that we know where it is.

Sheets before placing
Sheets before placing

By doing that we reveal nothing about the green dots location or where it is on the original sheet. So now we know that there is a prover and verifier. We as provers just proved to verifiers that we know where green dot is

Final placement of our bigger sheet.
Final placement of our bigger sheet.

Now we know what is zk, let's talk about the SNARK part. SNARK is an acronym for;

[Succinct Non-interactive Argument of Knowledge]

Succinct means that our proofs are small. So it doesn't take too long to verify

Non-interactive is we are only sending evidence once. So there is no back and forth communication between prover and verifier

Argument is the cryptography behind our proof. As you see we proved our knowledge in a very traditional way above. Machines don't do that they use cryptography with complex math behind it. and finally...

`of Knowledge` means that prover actually has the evidence.

post image

All of these, makes zk-SNARK tech very fast, secure and private! Yeah very cool but how can we use them ? Why are they so important ?
Well the best reason to use them is privacy. With zk-SNARK we can protect our privacy on-chain and even off-chain

For instance we can build an anonymous message platform or we can create secure voting systems, secure and private taxing systems. Or current exchanges can prove that they are solvent without revealing anything about their assets! How awesome is that ?

post image

If you're interested in staying on the cutting edge of blockchain technology, be sure to keep an eye on zk-SNARKs! That's all from me today, hope you learned something new! Thank you all for reading!