what is zk snark 
zk snark stands for zero knowledge succinct non interactive argument of knowledge it is cryptographic proof that allows one party to prove it possesses certain information without revealing that information this proof is made possible using a secret key created before the transaction takes place zk snark is used as part of the protocol for the cryptocurrency zcash understanding zk snarkfor many original members of the cryptocurrency community primarily the bitcoin community privacy was an assumed aim and feature of cryptocurrencies however privacy was always a second order concern given cryptocurrency s need to create a trustless system of guaranteeing the integrity of electronic currency and digital transactions in the early 2010s bitcoin users sometimes assumed that their transactions were anonymous because their offline identities weren t associated with users public keys but through the end of the decade coordinated efforts by data scientists hackers and law enforcement proved that it is not only possible but relatively easy to re identify people who had given pseudonymous data to multiple sources because of the perceived lack of privacy of some of the original cryptocurrencies like bitcoin developers started working on privacy focused coins the most prominent of these is zcash backed by a privacy concept known as zk snarks zero knowledge proofa zk snark zero knowledge succinct non interactive argument of knowledge utilizes a concept known as a zero knowledge proof 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 the idea behind these proofs was first developed in the 1980s for most other types of proof at least one of the two parties must have access to all the information a traditional proof can be compared to 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 they have 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 zk snark examplebecause zk snarks are tough to comprehend it s best to use a simple example of what they are imagine you have a safebox with a combination lock at a bank with a note in it the note has a signature and printed name on it you believe you re the only one that knows what it says you re discussing it with a friend but have not revealed anything about the note other than it exists in that safebox the friend tells you they know what it says and then tells you the name on the note they have provided proof that they know the combination and what s on the note without revealing it on a blockchain it is much more complicated but this is the general idea someone provides proof they know something without revealing it criticism of zk snarksthere are of course concerns related to zk snarks for instance if someone was able to access the private key that was used to create the parameters of the proof protocol they could create false proofs that nonetheless looked valid to verifiers this would allow that person to create new zcash tokens through a counterfeiting process in order to prevent this from happening zcash was designed to elaborate the proving protocols and spread them 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 since 2019 some developers have been working to improve zk snarks by removing the trusted setup in 2022 zcash developers implemented the halo 2 zero knowledge system eliminating one of the blockchain s most significant privacy issues halo 2 doesn t require a trust setup between users 1