Zero-knowledge succinct non-interactive argument of knowledge (zk-SNARK) is a unique kind of zero-knowledge proof that enables the verification of a statement without disclosing any details about the statement itself.
Understanding about zk-SNARK
Zcash is one of the first projects to utilize zk-SNARKs. Unlike other privacy-focused projects such as Monero, which use ring signatures and various methods, zk-SNARKs fundamentally alter how data is shared. The privacy aspect of Zcash comes from the ability to keep transactions encrypted while still allowing them to be verified as valid through zero-knowledge proofs. This means that those enforcing consensus rules don’t need to access all the underlying data of each transaction. It’s important to note that Zcash’s privacy features aren’t enabled by default; they require manual setup to activate.
Zero-knowledge proofs enable one person to demonstrate to another that a statement is true without revealing any information beyond the statement’s validity. The individuals involved are typically called a prover and a verifier, and the secret statement they hold is known as a witness. The primary goal of these proofs is to minimize the data exchanged between the two parties. In simpler terms, zero-knowledge proofs can be used to show that someone possesses certain knowledge without disclosing any details about that knowledge itself.
In the SNARK acronym, “succinct” indicates that these proofs are compact and can be verified quickly. “Non-interactive” signifies that there’s minimal interaction required between the prover and the verifier. Earlier zero-knowledge protocols often necessitated back-and-forth communication between the prover and verifier, making them “Interactive” ZK proofs. However, in “non-interactive” setups, only one proof needs to be exchanged between the prover and verifier.
zk-STARK proofs have a more straightforward structure regarding cryptographic assumptions. But, this new tech has a significant downside: the proofs are larger compared to zk-SNARKs.
Conclusion
Zk-SNARK proofs rely on an initial trusted setup between a prover and verifier, which means a set of public parameters is needed to create zero-knowledge proofs and, consequently, private transactions. These parameters function like the game rules; they are embedded in the protocol and are essential for validating a transaction.
