What is a Zk-SNARK?
A zk-SNARK is a cryptographic algorithm that completes a zero-knowledge proof. A verifier provides random points and the prover provides solutions to those points. The two parties do not trust one another. This type of cryptography is a defensive as well as offensive weapon. A zk-SNARK’s secret parameter lambda enables it to create a fake proof. Moreover, this algorithm is also fast.
This technology is complex and novel. It was developed in the year 1985 by cryptographers Charles Rackoff, Shafi goldwasser, and Silvio Micalli. The first protocol to use zk-SNARKs was “I know.”
Although zk-SNARKs have already been used in many crypto-currency projects, the process relies on a trusted setup to create proofs. However, some developers are trying to improve zk-SNARKs to decrease the need for trust in the process. The team behind Zcash, for example, has developed a zK-ConSNARK that supposedly has low inflation and does not require any trusted setup.
In addition, zk-SNARKs help speed up transactions and increase the level of trust in a blockchain. They can also help hide important details from prying eyes. For instance, Anna can use a Zk-SNARK to prove that she placed 100 ETH in a smart contract with Carl. Carl must complete the task in order to get her money. The contract also demonstrates that she has not changed her wallet balance.