Understanding zkSync: ZKP, zk-SNARK, zk-STARK
June 23rd, 2024

Zero-knowledge proofs, zk-SNARKs, and zk-STARKs are all cryptographic techniques that allow one party (the prover) to prove to another party (the verifier) that they know a piece of information, without revealing the information itself. However, there are important differences between these approaches:

Zero-Knowledge Proofs (ZKPs)

ZKPs are the broadest category, encompassing both zk-SNARKs and zk-STARKs. They allow a prover to demonstrate knowledge of a secret without revealing any information about the secret itself.Example: Imagine you have a friend who is colorblind and you want to prove to them that you can distinguish between red and green without revealing which is which. You could have them hold up colored cards behind their back, tell them which color each card is, and repeat this process many times. Your colorblind friend would become convinced of your ability to distinguish the colors without learning which card is red or green.

zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)

zk-SNARKs are a specific type of zero-knowledge proof with some additional properties:

  • Succinct: The proofs are small in size and quick to verify.

  • Non-interactive: The proof can be verified without back-and-forth communication between the prover and verifier.

However, zk-SNARKs require a trusted setup phase and are potentially vulnerable to quantum computing attacks.Example: Imagine a password-protected website where, instead of sending your actual password to the server, you could send a zk-SNARK proof that you know the password. The server could verify this proof quickly without ever seeing your actual password, and the proof itself would be much smaller than sending your entire password history.

zk-STARKs (Zero-Knowledge Scalable Transparent Argument of Knowledge)

zk-STARKs are a newer development, addressing some limitations of zk-SNARKs:

Scalable: They can handle larger amounts of computational work more efficiently.

Transparent: They don't require a trusted setup phase.

Post-quantum secure: They are believed to be secure even against quantum computers.

However, zk-STARK proofs are generally larger than zk-SNARK proofs.Example: Picture a futuristic voting system where you need to prove you're eligible to vote without revealing your identity. A zk-STARK could allow you to prove you're over 18, a citizen, and registered to vote, all without revealing any specific information about yourself. The system could handle millions of such proofs efficiently, and would remain secure even if quantum computers became a reality.Key Differences:

Setup: zk-SNARKs require a trusted setup phase, while zk-STARKs do not.

Proof size: zk-SNARK proofs are typically smaller than zk-STARK proofs.

Verification time: zk-SNARKs are generally faster to verify than zk-STARKs.

Quantum resistance: zk-STARKs are believed to be secure against quantum computers, while zk-SNARKs are not.

Scalability: zk-STARKs can handle larger computations more efficiently as the size of the computation grows.

In summary, while all these techniques allow for proving knowledge without revealing the knowledge itself, they differ in their specific properties and trade-offs. The choice between them depends on the specific requirements of the application, such as proof size, verification speed, setup complexity, and long-term security concerns.

Citations:

[1] https://chain.link/education-hub/zk-snarks-vs-zk-starks

[2] https://consensys.io/blog/zero-knowledge-proofs-starks-vs-snarks

[3] https://blog.pantherprotocol.io/zk-snarks-vs-zk-starks-differences-in-zero-knowledge-technologies/

[4] https://en.wikipedia.org/wiki/Zero-knowledge_proof

[5] https://hacken.io/discover/zk-snark-vs-zk-stark/

[6] https://aminagroup.com/research/unveiling-cryptographic-enigmas-the-magic-of-zksnarks-and-zkstarks/

[7] https://www.cs.princeton.edu/courses/archive/fall07/cos433/lec15.pdf

[8] https://www.circularise.com/blogs/zero-knowledge-proofs-explained-in-3-examples

[9] https://www.wallstreetmojo.com/zk-snark/

[10] https://pixelplex.io/blog/zk-snarks-explained/

[11] https://cointelegraph.com/explained/zero-knowledge-proofs-explained

[12] https://consensys.io/blog/introduction-to-zk-snarks

[13] https://limechain.tech/blog/zero-knowledge-proofs-explained/

[14] https://www.fool.com/terms/z/zk-snark/

[15] https://aszepieniec.github.io/stark-anatomy/

[16] https://www.youtube.com/watch?v=_MYpZQVZdiM

[17] https://www.utwente.nl/en/ces/sal/exams/Blockchain-and-Distributed-Ledger-Technology-test/3-Privacy/introduction-to-zk-snarks-with-examples-christian-lundkvist.pdf

Subscribe to spacesmutje
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from spacesmutje

Skeleton

Skeleton

Skeleton