Crypto Gloom

From Zero to Hero in Proof of Zero Knowledge (Part 11) | Posted by Hira Siddiqui | Coins | March 2024

So far we’ve talked a lot about zk-SNARKs and their inner workings. Let’s review everything we’ve learned so far.

Trusted Settings

ZKSNarks requires a one-time setup step to generate attestation and verification keys. This step is generally considered a drawback of zkSNARKS because it requires trust in the intentions of the parties involved. If your setup details are leaked later, you can create false evidence.

High-level descriptions are translated into arithmetic circuits.

The authors of zk-SNARK use a high-level language to specify algorithms for constructing and testing proofs. This high-level specification is compiled into an arithmetic circuit.

Additional mathematical improvements

The circuit is then converted to R1CS and a set of formulas called the Quadratic Arithmetic Program (QAP). QAP is then further refined to ensure privacy aspects of the process. The result is a proof in the form of a series of bytes provided to the verifier. The verifier can pass this proof through the verifier function to receive a true or false result. There is no information in the evidence that the verifier can use to find out additional information about the prover or witness.

final remarks

Zk-SNARKs are several orders of magnitude smaller than the transaction data they verify, making them ideal for use in applications that require high storage costs and/or very short verification times. However, trustworthy events have proven difficult because users have no way to evaluate the honesty of participants. Therefore, new algorithms have been developed, such as Halo, a new zk-SNARK that can remove trusted settings.

A final important consideration to keep in mind is that SNARKs are not quantum secure. zk-SNARK uses Elliptic Curve Cryptography (ECDSA) for encryption. Although the ECDSA algorithm is currently secure, the development of quantum computers may break the security model in the future.

congratulations. You have now completed understanding the zk-SNARK protocol. Thank you! Take this quiz now and test your understanding!