What are Zk-SNARKs and How They are Used in Cryptocurrency?
Zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) are cryptographic proofs that allows a prover to demonstrate knowledge of a computation without revealing the inputs or information.
Suppose you are a member of a spy agency. To be allowed into the facilities, you have to prove that you are truly part of the agency without explicitly disclosing your personal details or sharing sensitive information. The club has a secret code or symbol, like a special emblem or card, that serves as proof of your membership.
When you show up at the agency, you can use the secret code or symbol to verify your membership to gain entry. For instance, you may have to answer a question that only members could know the answer to. There may be other steps to complete to ensure that your answer was not just a lucky guess. This way, you can engage in your spy activities while maintaining every member’s privacy and security.
Zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) use a similar concept, where an individual (prover) can demonstrate the truth of a statement to another party (verifier) without divulging additional information other than the statement’s validity. This statement parameter that is held in secret is called a witness.
Within the acronym, “zero knowledge” refers to the party validating the secret having no knowledge of the secret besides its validity. The “Succinct” means that this verification process takes only a few milliseconds since the proof size is small. On the other hand, “non-interactive” implies there’s no interaction between the prover and the verifier. The prover only has to dispatch a single message to the verifier. “Argument” depicts the proofs, while “knowledge” refers to the witness that the party proving the claim has.
Blockchains use Zk-SNARKs to facilitate private transactions by recording only the proof of transactions. The details about the sender, recipient, and the transaction are concealed. The Zk-SNARKs concept was popularized in cryptocurrency by ZCash.