📢 Gate Square #MBG Posting Challenge# is Live— Post for MBG Rewards!
Want a share of 1,000 MBG? Get involved now—show your insights and real participation to become an MBG promoter!
💰 20 top posts will each win 50 MBG!
How to Participate:
1️⃣ Research the MBG project
Share your in-depth views on MBG’s fundamentals, community governance, development goals, and tokenomics, etc.
2️⃣ Join and share your real experience
Take part in MBG activities (CandyDrop, Launchpool, or spot trading), and post your screenshots, earnings, or step-by-step tutorials. Content can include profits, beginner-friendl
The evolution of zk-SNARKs technology: from theoretical breakthroughs to scaling applications
zk-SNARKs: The Evolution from Theory to Application
The Development History of zk-SNARKs
The zero-knowledge proof system originated from the paper "Knowledge Complexity of Interactive Proof Systems" published in 1985 by Goldwasser, Micali, and Rackoff. This paper explored the amount of knowledge exchanged to prove the correctness of a statement through multiple rounds of interaction in an interactive system. If the proof can be completed without revealing any additional information, it is called a zero-knowledge proof.
Early zero-knowledge proof systems were neither efficient nor practical, primarily remaining at a theoretical level. It wasn't until the last decade, with the widespread application of cryptography in the field of cryptocurrencies, that zero-knowledge proofs gradually became an important research direction. Among them, developing universal, non-interactive, and limited-scale zero-knowledge proof protocols is a key goal.
The breakthrough in zero-knowledge proofs was the paper published by Groth in 2010, which laid the theoretical foundation for zk-SNARKs. In 2015, Zcash applied zero-knowledge proofs to protect transaction privacy, initiating the widespread application of zero-knowledge proofs in practical scenarios.
After that, some important academic achievements include:
Other new developments such as PLONK and Halo2 have also improved zk-SNARKs in different aspects.
Main Applications of zk-SNARKs
The two most widely used applications of zk-SNARKs currently are privacy protection and scalability.
Early privacy-focused projects like Zcash and Monero received a lot of attention, but the demand for privacy did not turn out to be as prominent as expected, leading these projects to gradually fall to the sidelines. In contrast, the demand for scalability has become increasingly urgent. Especially after Ethereum 2.0 shifted to a rollup-centric approach, scalability solutions based on zk-SNARKs have returned to the industry's spotlight.
privacy transaction
Representative projects of privacy transactions include:
The privacy transaction process of Zcash includes steps such as system setup, key generation, minting, transaction proof generation, verification, and receiving. However, Zcash also has some limitations, such as being based on the UTXO model, making it difficult to integrate with other applications, and the actual usage rate of privacy transactions is not high.
Tornado Cash adopts a single large mixing pool approach, which offers better universality. It is based on the Groth16 zk-SNARK implementation, ensuring that only the deposited coins can be withdrawn, and each coin can only be withdrawn once.
scalability
The application of zk-SNARKs in scalability mainly involves zk-rollup. The core roles of zk-rollup are the Sequencer and the Aggregator. The Sequencer is responsible for packaging transactions, while the Aggregator merges a large number of transactions and generates zk-SNARKs to update the Ethereum state tree.
The advantages of zk-rollups are low fees, fast transaction speeds, and privacy protection. The disadvantages are that the proof generation requires a large amount of computation, and SNARKs require a trusted setup.
The main zk-rollup projects currently include:
EVM compatibility is a major challenge faced by zk-rollups. Currently, there are two main solutions: full compatibility with Solidity opcodes or designing a new ZK-friendly virtual machine that is compatible with Solidity. The enhancement of EVM compatibility will greatly impact the development of the ZK ecosystem.
The Basic Principles of zk-SNARKs
zk-SNARK stands for "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge". It has the following characteristics:
The zk-SNARK implementation principle of Groth16 includes the following steps:
The zk-SNARKs technology is developing rapidly and is expected to play an important role in more fields in the future.