Zk-SNARKs are a type of cryptographic test designed to guarantee the maximum possible privacy. To achieve this, the zk-SNARKs are built using zero knowledge protocols or tests, an interesting technique that allows us to validate and verify information without having to access it.

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. 

How much do you know, cryptonuta?

Are zk-SNARKs secure cryptographic evidence?

TRUE!

The zk-SNARKs test has been designed from the beginning to provide a very high level of security and privacy, not achievable by conventional asymmetric cryptographic means such as ECDSA or EdDSA.

Zcash and the zk-SNARKs

The first cryptocurrency to apply zero knowledge tests to guarantee the privacy and security of users is Zcash (ZEC). The implementation of zero knowledge tests allow Zcash to verify the transactions carried out on the network. All this without having to reveal who the sender, the recipient or the amount of money that has been transferred has been. 

In Zcash, the chosen ZKP protocol is the zk-SNARKs implementation. A choice that allows you to completely change the way data is shared on a network. Allowing the transactions to remain encrypted but still be able to verify and certify their authenticity and validity. Offering an unprecedented degree of anonymity, privacy, security and confidentiality for users.

Zcash supports private and transparent addresses, where both are fully interoperable with each other and depend on the users to activate or remove the protections on the information. So the transparent addresses in the Zcash blockchain operate similarly as in Bitcoin o Ethereum. Where the information is publicly visible.

By contrast, if you operate with private addresses you will only see in the chain that a movement has occurred and that the fees for said transaction have been canceled. But There will be no knowledge of the parties involved in said transaction, nor of the amounts that were transferred. So these data are not visible to the public even if they are within the public chain. 

This is possible only thanks to the use of zero knowledge tests, which allow data to be encrypted or encrypted within the blockchain. 

Zero Knowledge Protocol on Zcash

Zcash implements the zero knowledge protocols, known by its acronym in English as ZKP, to establish a mechanism by which one party can demonstrate to another its possession of certain information. Without revealing anything other than proof that this statement is true. 

Thanks to the implementation of the ZKP protocol, this cryptocurrency can enjoy a high level of security and anonymity, if required by users. Since the extraordinary ability of the ZKP protocol to provide privacy allows the creation of an unprecedented secure communication system. 

For all its properties, this privacy protocol has a wide variety of applications. Applications ranging from military and national security deployments to secure communication and authentication systems. Going of course through cryptocurrencies and blockchain technology. Where they play an important role in protecting and keeping the transactions carried out within the public blockchain intact. But without revealing or leaking information between the parties involved. It is for this reason that Zcash has implemented the ZKP protocol on their system. 

Zcash main features in zk-SNARK

  • In Zcash you can make transactions quickly, safely and privately with low transaction costs of 0.0001 Zcash.
  • With Zcash you can enjoy completely private addresses or opt for transparent public addresses
  • With private addresses, Memo fields are not publicly disclosed. So it can include important information for the recipient of the transaction without risks or vulnerabilities. Since said information will be protected and encrypted. 
  • In private addresses, users can reveal details of their transactions in case of audits or of having to comply with regulatory standards. However, the user can reveal all the information of the transaction if he wishes. So we can see the amounts transferred, the memo field or some linked message. All this without showing who has been the recipient or receiver of the operation. 

Other types of zero knowledge tests similar to zk-SNARK

Another example of zero-knowledge tests similar to zk-SNARK are zk-STARKs. The zk-STARK they were created as an alternative version of the zk-SNARK tests and are considered a faster and cheaper implementation of this technology. 

But, what is really important about this system is that the zk-STARKs do not require an initial trust configuration (therefore the “T” is transparent). Additionally, the zk-STARK have a greater strength against attacks of the quantum type. Because of this, they are considered a more reliable form of cryptography against this type of system.