### Cryptocurrencies

# Vitalik Buterin Presents ZK-SNARKs Use Forms for Privacy

After having addressed the mathematical explanation for how **ZK-SNARKs works**, **Vitalik Buterin** yesterday released explanations on how ZK-SNARKs can be used to achieve privacy.

## Using ZK-SNARKs For Privacy

Zk-SNARK, is an abbreviation that stands for “**Zero-Knowledge Succinct Non-Interactive Argument of Knowledge**.” A zk-SNARK is a cryptographic proof that allows one side to demonstrate that it has specific information without revealing it. This evidence is achievable because of a secret key generated prior to the transaction. It’s a component of the Zcash cryptocurrency’s protocol.

**Vitalik Buterin, Co-founder of the Ethereum Network** previously posted an explanation of **how ZK-SNARKs work**. He attempted to explain the math behind ZK-SNARKs in a way that’s reasonably understandable but still theoretically complete.

Yesterday he made a post that was focused on the question of how ZK-SNARKs fit into existing applications, he gave some examples of what they can do, what can’t they do, and some general guidelines for figuring out whether or not ZK-SNARKing some particular application is possible. He explained using functions what ZK-SNARKs do using an Ethereum wallet address for explanation.

In his explanation, he showed how functionally, ZK-SNARK has its two properties: privacy and scalability.

He explained how ZK-SNARKs can be used for privacy while showing proof-of-membership in an ethereum network, how it can be used for coins, coins with arbitrage balances, etc.

*Projects like Zcash and Tornado.cash allow you to have privacy-preserving currency. Now, you might think that you can take the “ZK proof-of-humanity” above, but instead of proving access of a proof-of-humanity profile, use it to prove access to a coin. But we have a problem: we have to simultaneously solve privacy and the double spending problem. That is, it should not be possible to spend the coin twice. *The posted started to explain how ZK-SNARK could be used in coins.

Vitalik also explained concepts like ZK anti-denial-of-service stating an instance: “*Suppose that you have some on-chain identity that is non-trivial to create: it could be a proof-of-humanity profile, it could be a validator with 32 ETH, or it could just be an account that has a nonzero ETH balance. We could create a more DoS resistant peer-to-peer network by only accepting a message if it comes with a proof that the message;s sender has such a profile. Every profile would be allowed to send up to 1000 messages per hour, and a sender’s profile would be removed from the list if the sender cheats. But how do we make this privacy-preserving?”*

He further explained using functions, **ZK negative reputation**, how the protocol can help to hold centralized parties accountable on networks. Also, the posted explained some aspects of the protocol that cannot be made private as a result of the way it is being built.