Maker Minds Hub - Zero Knowledge Proof
Hi, Maker Minds!
I hope you're well, my name is Younes, and today I'd like to talk to you about an important concept in crypto, as well as in the world we live in, which is called the Zero Knowledge Proof.
Before I start, this is the first edition of a new format called “Hub” that will be sent to your inbox every week to share knowledge about blockchain and crypto, because knowledge shared = knowledge².
I invite you to share this with your friends and family!
Zero Knowledge Proof is something fundamentally important. We hear a lot about it in the crypto world but you will hear more and more about it in the tech and computer spheres in general. It consists in proving that you have a piece of information without giving it away.
Zero Knowledge Proofs, are protocols that allow an actor to prove that a situation is real without having to reveal information about it. To give you an example, this would allow proving to a user that he owns bitcoins, without giving his signature or public address. Going beyond crypto, it can also be used to prove an identity without having to reveal it.
Be careful, it's a bit of a technical explanation that I'm going to make here, but I'll simplify it, hang on, you'll see that it's important to understand this and you'll see that it can be used for many things.
I'm going to give you an example that will allow us to understand how ZKP works. I'm going to tell you that I have the keys to a house. Without showing you the keys, I'm going to go into the house and take something that (we both know) is only in the house and I'll come out and show it to you. Let's say that in the house there is a very rare vase and I tell you that I have the keys to the house and you tell me to prove it to you, well ok, without showing you the keys, I go into the house, I take the vase, I come out and I show you the vase. So I proved to you that I had the keys without showing you the keys. Another example that I find very interesting is the “Where is Charlie” game.
Imagine that you want to prove to me that you know where Charlie is, but without showing me Charlie in the picture. Well with ZKP, there are a few possibilities. One possibility is that I put a blindfold on, you cut out Charlie from the picture and show it to me. You didn't show me where Charlie was, but now I know you knew where Charlie was hidden. But how can I be sure that you didn't cheat, that you already had a Charlie cut out beforehand, and that you took it out to show it to me? Well, I can simply print a pattern on the back of the picture, i.e. a random drawing that you don't know in advance and that you discover when you cut out Charlie, so you couldn't have prepared a Charlie with the same pattern in advance because you simply don't know it.
Another way for you to prove to me that you know where Charlie is is to take a large white sheet of paper and cut a hole in the paper so that the hole overlaps with Charlie. Then you transfer the paper to the drawing and show me the whole thing. Again, you proved to me that you know where Charlie is but you didn't show me where he was. There you go, you proved to me that you have the information without giving me the information, and that's called ZKP.
The applications of ZKPs can be very numerous since they are not limited to the crypto or decentralized identity systems. Indeed, they can also take part in the dissemination of sensitive information without citing sources, such as the evaluation of the armed forces of different countries. Finally, they are widely used in the context of blockchain platforms.
Anonymous transactions
The implementation of a ZKP protocol can make transactions, of cryptocurrency, for example, anonymous. Indeed, some blockchains that want to be anonymous use ZKP processes to guarantee the confidentiality of their users. But some of these systems can be deployed within smart contracts to bring anonymity to existing platforms. This is the case of Tornado Cash for example. This service uses Zero Knowledge Proof to make (Ethereum, Bsc, Polygon, etc.) transactions anonymous.
Scalability overlays
One of the uses that is a little less well known to the general public, but offers interesting promises, is the use of ZKP in scalability solutions. Mainly present in Ethereum overlay projects, Zero Knowledge Proofs allow for a larger number of transactions in a given time by transmitting only the proof of transaction. Thus, less data is distributed over the network, while ensuring the network's consensus is validated. Examples of ZKP scalability protocols already exist today, notably on top of Ethereum.
We can notably mention ZK-Rollup and its implementation zkSync, an Ethereum DApp allowing to perform transactions at a lower cost on Ethereum. It is therefore a micropayment solution, which still has some disadvantages in use. For example, there is a rather centralized initial scheme, as well as a greater demand for computing power for Zero Knowledge Proofs than for classic transactions.