Zero-knowledge proofs are a highly ingenious cryptographic method that allows a prover to demonstrate their knowledge of certain information to a verifier without revealing the actual information itself.
This technological concept was first proposed by researchers at MIT in the late 1980s. However, it wasn’t until the recent rise of blockchain technology that zero-knowledge proofs were truly widely applied in practice.
This article will briefly outline the development history and basic principles of zero-knowledge proof technology.
The development history of cryptography can be divided into three stages: classical, modern, and contemporary. Classical cryptography originated in the military field, focusing on how to securely and reliably transmit information. The Vigenère cipher, which employed multiple substitution tables, greatly increased the difficulty of decryption. Modern cryptography emerged from information theory and was formalized by figures like Shannon. The introduction of the RSA algorithm marked the beginning of the modern cryptography era, addressing the key distribution problem.
The invention of zero-knowledge proofs opened a new chapter in contemporary cryptography research.
In 1985, the GBC protocol proposed by Goldreich, Micali, and Wigderson achieved interactive zero-knowledge proofs. In 1991, Fiat and Shamir introduced a method to transform interactive zero-knowledge proofs into non-interactive proofs. In 1994, the PICCS protocol reduced the proof length. Subsequently, various types of zero-knowledge proofs such as SNARKs and STARKs emerged, each with its own characteristics. With the advent of blockchain technology, their applications have rapidly expanded.
Zero-knowledge proofs allow a prover to demonstrate to a verifier that they possess certain information without revealing the actual information itself. The basic idea can be illustrated using a Sudoku game. The prover, Alice, designs a Sudoku puzzle for the verifier, Bob, that Bob cannot solve. To prove that she has the solution, Alice prepares 81 cards with numbers from 1 to 9. She arranges these cards face up according to the puzzle and face down in a 9×9 grid according to the solution. Bob randomly selects a row or column for verification, and Alice reorders the cards based on Bob’s choice to ensure that the selected row or column satisfies the Sudoku requirements. This process is repeated multiple times until Bob is convinced that Alice indeed has the solution.
Throughout history, zero-knowledge proof technology has evolved from “interactive proof systems” to “non-interactive proof systems.” Early proof systems required multiple rounds of interaction between the prover and verifier to complete the proof, which was inefficient and inconvenient. Researchers then proposed non-interactive proof systems, where trusted third parties generate verification parameters in advance. The prover only needs to construct a proof based on these parameters and send it to the verifier once, without the need for multiple rounds of interaction. This greatly improved efficiency.
The most common zero-knowledge proof protocol currently is zkSNARK. It achieves the separation of proof and verification by flattening computer code, introducing constraint systems, employing elliptic curve encryption, and using a series of technical measures. Validators can verify that the prover has correctly performed the computation as required without needing to know the solution.
zkSNARK has also spawned various algorithms in terms of efficiency, data volume, etc., such as Sonic, Plonk, and others. With the development of dedicated hardware, the computational cost of zero-knowledge proofs is expected to decrease significantly.
Another type of zero-knowledge proof protocol is zk-STARK. Unlike zk-SNARKs, which rely on specific mathematical hardness assumptions for security, zk-STARK is based on cryptographic hash functions, making its security more closely related to determinism. However, zk-STARK proofs tend to be larger in size and less efficient. As algorithms continue to be optimized, zk-STARK is evolving towards practicality.
Zero-knowledge proof technology has immense value in protecting privacy data. It has already been applied in many blockchain projects, such as the privacy coin Zcash and Layer 2 solutions like zkRollup. As the technology continues to advance, zero-knowledge proofs are bound to bring even more possibilities to the blockchain world.
In the future, we can expect their role to expand to various scenarios, including financial transactions, medical data, digital identities, and more. They will also promote the development of blockchain scalability and layered architecture. Current challenges include the need for large-scale trusted setups, efficiency, and usability hurdles. With the progress of dedicated hardware and protocol standardization, zero-knowledge proofs are poised to play a larger role in the future of blockchain.