ECurrent technological development can be as beneficial as it is detrimental to the privacy of the data handled on the network. And is that this feature has always been the most valued by all those users who want to carry out their transactions through cryptocurrencies. Even before cryptocurrencies existed, since the time of the cryptanarchists.
The reality is that in times of Big Data, artificial neural networks analyzing you nonstop, corporations and governments absorbing everything we do to control you as they please, personal privacy and transparency of institutions is more important than ever. For this reason, the creation of more powerful and efficient solutions that safeguard privacy in the digital world, today becomes more powerful and important thanks to the arrival of cryptocurrencies.
Today you will learn one of the tools in this regard: the zero knowledge tests ZK-snarks. It is a very powerful cryptographic implementation that allows you to demonstrate ownership of any information or data, without the need to reveal such information or data to any user or network, at any time. Interesting, right? Well, let's take a closer look at what these novel blind cryptographic testing systems are all about.
Understanding what a zk-SNARK is
zk-SNARK is the acronym for "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge" that means "Non-Interactive Knowledge Argument Knowledge Zero Scratch" The zk-SNARKs they are very reliable and secure zero knowledge test systems. Tests that allow us to prove possession of information, showing that such information is also correct. But that at the same time it is never revealed, but is kept strictly confidential and secret.
It is important to differentiate between the ZKP and zk-SNARK protocol. While the ZKP protocol is a way or protocol of doing cryptographic testing, zk-SNARK algorithms are algorithms that put a ZKP protocol to use. For you to understand it, it is like the TCP / IP protocol (the internet base), but then, concrete implementations are created on it: like the SMTP protocol (protocol for sending emails). SMTP is created over TCP / IP, using TCP / IP in a certain way. In this case, the ZKP protocol would be the base, and on this zk-SNARK is based.
This concrete implementation of the ZK protocol has some nuances that we can discover by understanding each of the letters that make up the name zk-SNARK:
- ZK: Zero knowledge: it is a type of cryptographic proof. Make reference to the confidentiality and privacy of the information between users without compromising their security. You can read more about this here!.
- S: Sucinct: make reference to the brevity and speed with which you can verify and verify that the test is true or legitimate. As the tests are a demonstration of the possession of information or data, their size is small, so they can be verified and validated in a matter of milliseconds.
- N: Non-interactive: means that there is no constant interaction, communication or exchange relationship between the demonstrator and the verifier. In other words, in zero knowledge tests, it is only necessary to send a message with the test to demonstrate possession of the information, without the need for constant or frequent communication between the parties.
- ARK: Knowledge Argument: refers to the proof or knowledge that he has a tester and that he can demonstrate to a verifier, to convince him that he has information that he knows and that is correct, but without revealing what that information is.
Basically a zk-SNARK allows us to tell you that we have secret information in our possession to a friend, without having to reveal this information at any time. And at the same time, convince our friend one hundred percent that the information is really in our possession. Sounds great, don't you think? In fact, the usefulness of tests of this type is gigantic, but before that we continue to understand what else is hidden in the zk-SNARKs.
How do zk-SNARKs work?
The technology that surrounds the zk-SNARKs is profoundly complex and novel. The bases of its construction were designed by cryptographers Shafi goldwasser, Silvio Micalli and Charles Rackoff in 1985. What gave rise to the first protocols to say that there is knowledge of a secret that exists and that it is correct but without revealing it is, practically, saying "I know", without going beyond Those words.
However, behind this lies a powerful and complex mathematics that few people can fully understand. Therefore, an explanatory and simple example presented by the cryptographer Jean-Jacques Quisquater in 1990 it can help us understand how zero knowledge tests work. Let's see:
The concept of zero knowledge test is reflected as a parable involving the Cave of a Thousand Wonders by Ali Baba. In his example the cave is reflected as a perfect circle that only contains an entrance, and that inside there are only two lateral paths. To access the cave through that small door it is necessary to say the correct secret words.
So if Alice wants to show Bob that she knows what the correct secret words are, but without revealing them at any time, she can agree with Bob that she will be at the end of the cave and he will be at the entrance. When Bob says a word to indicate that Alice must appear by one of the specific paths, when Alice listens to Bob she must appear by the path that he reliably indicates. Proving that you have knowledge of the correct secret words.
The process can be repeated a number of times to show that Alice knows the secret and that she has not chosen the path by mere coincidence.
Importance of zk-SNARKs
The ease of tracking or tracing the transactions that users carry out on public blockchains has led to the implementation of new security mechanisms that guarantee the protection and protection of privacy. Both users and cryptocurrencies, as privacy, is also an element that provides fungibility to digital currencies.
Therefore, the implementation of privacy protocols such as zk-SNARK allows to guarantee the privacy of all users and participants in a blockchain network, without compromising in any case the privacy or security of any of them.
The use of zk-SNARKs can reduce any type of connection or relationship that may exist between the sender and the recipient, as well as the amounts involved in the transactions. This security mechanism can be used in conjunction with other privacy implementations such as Tor, to hide, for example, the IP of the users. Making the privacy guarantee more effective in all operations. Although it is important to note that zk-SNARK is a mechanism that is activated manually.