DEFINITION of zk-SNARK
Privacy has long been a central aim and feature of cryptocurrencies. However, what might have been considered private earlier in the history of the industry is often no longer seen to be the case. For example, claims that bitcoin is anonymous are now often refuted, as blockchains are transparent and open: Even though an individual bitcoin address is not linked to a single person in the network, all of the transactions taking place in the bitcoin world can be tracked and mapped. Blockchain analysis of this type has been a central feature of government and law enforcement efforts to crack down on various cryptocurrency-related crimes and similar issues, according to Blockonomi. Because of the perceived lack of privacy of some of the original cryptocurrencies, including bitcoin, there has in recent years been a new wave of privacy-focused tokens and coins. One of these, zcash, is backed by a technology known as zk-SNARKs.
BREAKING DOWN zk-SNARK
A zk-SNARK ("zero-knowledge succinct non-interactive argument of knowledge") utilizes a concept known as a "zero-knowledge proof." The idea behind these proofs is actually quite well established, as they were first conceived in the 1980s. Put simply, a zero-knowledge proof is a situation in which each of two parties in a transaction is able to verify to each other that they have a particular set of information, while at the same time not revealing what that information is. For most other types of proof, at least one of the two parties must have access to all of the information, meaning that a zero-knowledge proof is a deviation from the norm.
For an example of a traditional proof, consider a password used to access an online network. The user submits the password, and the network itself checks the contents of the password to verify that it is correct. In order to do this, the network must also have access to the contents of the password. A zero-knowledge proof version of this situation would involve the user demonstrating to the network (via mathematical proof) that he or she has the correct password without actually revealing the password itself. The privacy and security advantages in this situation are clear: If the network does not have the password stored somewhere for verification purposes, the password cannot be stolen.
The mathematical basis of zk-SNARKS is complex. Nonetheless, proofs of this type allow one party to demonstrate not only that a particular bit of information exists, but also that the party in question has awareness of that information. In the case of zcash, zk-SNARKs can be verified nearly instantly, and the protocol does not require any interaction between the prover and the verifier.
There are, of course, concerns related to zk-SNARKs as well. For instance, if someone was able to access the secret randomness that was used to create the parameters of the proof protocol, he or she could create false proofs that nonetheless looked valid to verifiers. This would allow that person to create new tokens of zcash through a counterfeiting process. In order to prevent this from happening, zcash was designed in such a way as to make the proving protocols elaborate and spread out over multiple parties.
While the construction of the zcash proving process was completed in such a way as to minimize the possibility of counterfeiting tokens via false proofs, there is at least one other concern related to the cryptocurrency as well. Zcash was created with a 20% "tax" levied on all blocks created over the first several years of the token. This tax is known as the "founder's tax," and it is used to compensate the developers of the cryptocurrency. Critics have suggested that the founders could potentially use this facet of the system to create an infinite number of zcash tokens without anyone else being aware of the existence of those tokens. For that reason, it's not entirely possible to know the exact number of zcash tokens in existence at this point.