Zk-SNARK is an acronym that stands for “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”. Zk-SNARKs are cryptographic mathematical zero-knowledge proofs that allow one party referred to as a prover to prove that it possesses certain information to another party referred to as a verifier without revealing the information.
In simple words, an entity is granted the ability to prove to have specific knowledge or information without exposing the information in itself.
Although the idea of zero-knowledge proofs has been around for a while, Zk-SNARKs gained prominence with the creation of Z-cash – a privacy-focused cryptocurrency built as an alternative offering to trade crypto-assets fully anonymously on a blockchain network.
Properties of Zk-SNARKs
1) Information remains private throughout communication
2) They don’t require back-and-forth communication
3) Although the notion to be proven is complicated, they are minute and easy to verify
3) They are proofs of knowledge
How Zero-Knowledge protocol works
The zero-knowledge protocol allows two distinct parties to verify a given piece of information needed to execute a transaction without revealing the information.
In a typical crypto transaction, Zk-SNARK can help prove and verify that each party owns the cryptocurrency both parties claim to have without necessarily revealing their entire crypto asset.
For example, a competitive task with a price reward of 50 ETH programmed into a smart contract would require the task to be completed under specific conditions. Zk-SNARKs can help trigger the smart contract once the conditions are met by the winner of the task without revealing the solution of the task to other competitors, genuinely creating a trustless and fair system.