零知識證明:從歷史演進到zk-rollup熱潮

零知識證明的發展歷程與應用

零知識證明的歷史演進

現代零知識證明體系源於1985年Goldwasser、Micali和Rackoff提出的交互式證明系統理論。該理論探討了在交互過程中需要交換多少知識才能證明一個陳述的正確性,並提出了零知識證明的概念。

早期的零知識證明系統在效率和實用性方面存在不足,主要停留在理論層面。直到近十年,隨着密碼學在加密貨幣領域的興起,零知識證明才逐漸成爲一個重要研究方向。其中,開發通用、非交互式、證明規模有限的零知識證明協議成爲關鍵探索方向之一。

零知識證明的重大突破出現在2010年,Groth提出的短配對非交互式零知識論證奠定了zk-SNARK的理論基礎。2015年,零知識證明首次在Zcash項目中得到應用,用於保護交易隱私。此後,zk-SNARK與智能合約的結合進一步拓寬了其應用場景。

在這一過程中,一些重要的學術成果包括:

  • 2013年的Pinocchio協議,大幅提升了證明和驗證效率
  • 2016年的Groth16算法,進一步精簡了證明規模並提高驗證效率
  • 2017年的Bulletproofs算法,提出了簡短的非交互式零知識證明
  • 2018年的zk-STARKs協議,無需可信設置的新型零知識證明系統

此外,PLONK、Halo2等新興方案也對zk-SNARK做出了重要改進。

HashKey ZK 101 第一期:歷史原理與行業

零知識證明的主要應用

零知識證明在隱私保護和擴容兩個領域有廣泛應用。

在隱私保護方面,早期的Zcash和Monero等隱私交易項目引起了廣泛關注。然而,隱私交易的必要性並未如業界預期那般突出,相關項目逐漸退居二線。

在擴容方面,隨着以太坊2.0轉向以rollup爲中心的路線,基於零知識證明的擴容方案重新成爲焦點。主要包括:

  • 一層網路擴容:如Mina項目
  • 二層網路擴容:即zk-rollup方案

zk-rollup主要涉及兩類角色:Sequencer負責打包交易,Aggregator負責合並交易並生成零知識證明。這種方案具有費用低、最終性快等優勢,但也面臨計算量大、潛在安全風險等挑戰。

目前市場上主要的zk-rollup項目包括StarkNet、zkSync、Aztec Connect、Polygon Hermez/Miden、Loopring、Scroll等。這些項目在技術路線上主要在SNARK(及其改進版)和STARK之間選擇,以及是否支持EVM兼容。

HashKey ZK 101 第一期:歷史原理與行業

EVM兼容性一直是業界關注的焦點。早期項目往往需要在零知識證明效率和EVM兼容性之間取舍。近年來技術快速迭代,使得在保證零知識證明效率的同時實現較好的EVM兼容成爲可能,這將對零知識證明的開發生態和競爭格局產生重要影響。

HashKey ZK 101 第一期:歷史原理與行業

zk-SNARK的基本原理

zk-SNARK(零知識簡潔非交互式知識論證)是目前應用最廣泛的零知識證明系統之一。其核心思想是將復雜的計算問題轉化爲簡單的多項式問題,然後通過密碼學手段進行證明和驗證。

zk-SNARK的實現過程主要包括以下步驟:

  1. 將問題轉換爲算術電路
  2. 將電路轉換爲R1CS(Rank 1 Constraint System)形式
  3. 將R1CS轉換爲QAP(Quadratic Arithmetic Program)形式
  4. 建立可信設置,生成證明密鑰和驗證密鑰
  5. 生成零知識證明並進行驗證

HashKey ZK 101 第一期:歷史原理與行業

這一過程既保證了證明的零知識性,又實現了簡潔性和非交互性,爲零知識證明在區塊鏈領域的廣泛應用奠定了基礎。

HashKey ZK 101 第一期:歷史原理與行業

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 5
  • 分享
留言
0/400
区块链的薯条vip
· 07-12 09:45
这个zk好棘手啊
回復0
永远在逃顶vip
· 07-11 09:57
数学家镇楼了
回復0
链上小透明vip
· 07-11 09:37
技术小白来学习了
回復0
Wallet_Whisperervip
· 07-11 09:36
去中心化未来可期
回復0
FrontRunFightervip
· 07-11 09:33
真知识哪需证明
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)