作者推特:@renkingeth
零知識證明(ZKP)在區塊鏈領域被廣泛視為是自分布式賬本技術以來最重要的科技創新之一,同時也是風險投資的重點領域。本文對零知識證明技術近四十年的曆史文獻和最新研究都做了系統的綜述。
首先,介紹了零知識證明的基本概念和曆史背景。然後,重點分析了基于電路的零知識證明技術,包括zkSNARK、Ben-Sasson、Pinocchio、Bulletproofs和Ligero等模型的設計、應用和優化方法。在計算環境領域,本文介紹了ZKVM和ZKEVM,探討了其如何提升交易處理能力、保護隱私和提高驗證效率。文章還介紹了零知識Rollup(ZK Rollup)作為Layer 2擴展方案的工作機制和優化方法,以及硬件加速、混合解決方案和專用ZK EVM的最新進展。
最後,本文展望了ZKCoprocessor、ZKML、ZKThreads、ZK Sharding和ZK StateChannels等新興概念,並探討了它們在區塊鏈擴展性、互操作性和隱私保護方面的潛力。
通過分析這些最新技術和發展趨勢,本文為理解和應用零知識證明技術提供了全面視角,展示了其在提升區塊鏈系統效率和安全性方面的巨大潛力,為未來的投資決策提供了重要參考。
前言... 4
一、零知識證明基礎知識... 5
1.概述... 5
2. 零知識證明示例... 6
二、非交互零知識證明... 8
1. 背景... 8
2. NIZK的提出... 8
3. Fiat-Shamir變換... 9
4. Jens Groth及其研究... 9
5. 其他研究... 10
三、基于電路的零知識證明... 11
1.背景... 11
2.電路模型的基本概念與特點... 12
3. 零知識證明中的電路設計與應用... 12
4. 潛在的缺陷和挑戰... 13
四、零知識證明模型... 14
1.背景... 14
2.常見算法模型... 14
3. 基于線性PCP和離散對數問題的方案... 17
4. 基于普通人證明的方案... 18
5.基于概率可檢驗證明(PCP)的零知識... 19
6. 基于CPC(通用證明構造)的設置階段進行分類... 20
五、零知識虛擬機的概述和發展... 21
1.背景... 21
2. 現有的ZKVM的分類... 22
3. 前端與後端範式... 23
4. ZKVM範式的優缺點... 24
六、零知識以太坊虛擬機的概述和發展... 25
1. 背景... 25
2. ZKEVM的工作原理... 27
3. ZKEVM的實現流程... 27
4. ZKEVM的特點... 27
七、零知識二層網絡方案概述與發展... 28
1. 背景... 28
2. ZK Rollup的工作機制... 28
3. ZK Rollup的缺點與優化... 29
八、零知識證明的未來發展方向... 30
1. 加速計算環境的發展... 31
2. ZKML的提出和發展... 32
3. ZKP擴容技術相關發展... 32
4. ZKP互操作性的發展... 34
九、結論... 35
參考文獻... 37
在如今,互聯網正在進入Web3時代的進程中,區塊鏈應用(DApps)的發展迅速,幾乎每天都有新的應用湧現。近幾年,區塊鏈平台每天都承載著數百萬用戶的活動,處理著數十億筆交易。這些交易産生的大量數據通常包括用戶身份、交易金額、賬戶地址和賬戶余額等敏感個人信息。鑒于區塊鏈的開放性和透明性特點,這些存儲的數據對所有人都是開放的,因此引發了多種安全與隱私問題。
目前,有幾種加密技術可以應對這些挑戰, 包括同態加密、環簽名、安全多方計算和零知識證明。同態加密允許在不解密密文的情況下執行運算,有助于保護賬戶余額和交易金額的安全,但無法保護賬戶地址的安全。環簽名提供了一種特殊的數字簽名形式,能夠隱藏簽名者的身份,從而保護賬戶地址的安全,但對賬戶余額和交易金額的保護則無能為力。安全多方計算允許在多個參與者之間分配計算任務,而無需任何參與者知曉其他參與者的數據,有效保護了賬戶余額和交易金額的安全,但同樣不能保護賬戶地址的安全。此外,同態加密、環簽名和安全多方計算無法在不泄露交易金額、賬戶地址和賬戶余額的情況下用于驗證區塊鏈環境中證明者是否擁有足夠的交易金額(Sun et al.,2021)。
零知識證明是一種更全面的解決方案,這種驗證協議允許在不透露任何中介數據的情況下驗證某些命題的正確性(Goldwasser,Micali&Rackoff,1985)。該協議不需要複雜的公鑰設施,其重複實施也不會為惡意用戶提供獲取額外有用信息的機會(Goldreich,2004)。通過ZKP,驗證者能夠在不泄露任何私人交易數據的情況下,驗證證明者是否具有足夠的交易金額。驗證過程包括生成包含證明者聲稱的交易金額的證明,然後將該證明傳遞給驗證者,驗證者對證明進行預定義的計算,並産出最終的計算結果,從而得出是否接受證明者聲明的結論。如果證明者的聲明被接受,意味著他們擁有足夠的交易金額。上述驗證過程可以記錄在區塊鏈上,沒有任何僞造(Feige, Fiat& Shamir,1986)。
ZKP這一特性使其在區塊鏈交易和加密貨幣應用中扮演核心角色,特別是在隱私保護和網絡擴容方面,使得其不僅成為了學術研究的焦點,被廣泛認為是自分布式賬本技術——特別是比特幣——成功實施以來最重要的技術創新之一。同時也是行業應用和風險投資的重點賽道(Konstantopoulos,2022)。
由此,諸多基于ZKP的網絡項目相繼湧現,如ZkSync、StarkNet、Mina、Filecoin和Aleo等。隨著這些項目的發展,關于ZKP的算法創新層出不窮,據報道幾乎每周都有新算法問世(Lavery, 2024;AdaPulse, 2024)。此外,與ZKP技術相關的硬件開發也在迅速進展,包括專為ZKP優化的芯片。例如,Ingonyama、Irreducible和Cysic等項目已經完成了大規模的資金募集,這些發展不僅展示了ZKP技術的快速進步,也反映了從通用硬件向專用硬件如GPU、FPGA和ASIC的轉變( Ingonyama,2023;Burger,2022)。
這些進展表明,零知識證明技術不僅是密碼學領域的一個重要突破,也是實現更廣泛區塊鏈技術應用——尤其是在提高隱私保護和處理能力方面——的關鍵推動力(Zhou et al,2022)。
因此,我們決定系統地整理零知識證明(ZKP)的相關知識,以更好地輔助我們做出未來的投資決策。為此,我們綜合審閱了關于ZKP相關的核心學術論文(依據相關性和引用次數進行排序);同時,我們也詳細分析了該領域内領先的項目的資料和白皮書(根據其融資規模進行排序)。這些綜合性的資料搜集和分析為本文的撰寫提供了堅實的基礎。
1985年,學者Goldwasser、Micali和Rackoff在論文《TheKnowledge Complexity of Interactive Proof-Systems》中首次提出了零知識證明(Zero-KnowledgeProof,ZKP)和交互式知識證(InteractiveZero-Knowledge,IZK)。該論文是零知識證明的奠基之作,定義了許多影響後續學術研究的概念。例如,知識的定義是「不可行計算(unfeasiblecomputation)的輸出」,即知識必須是一個輸出,且是一個不可行計算,意味著它不能是簡單的函數,而需是複雜的函數。不可行計算通常可以理解為是一個NP問題,即可以在多項式時間内驗證其解正確性的問題,多項式時間指的是算法運行時間可以用輸入大小的多項式函數來表示。這是計算機科學中衡量算法效率和可行性的重要標准。由于NP問題的求解過程複雜,因此被認為是不可行計算;但其驗證過程相對簡單,所以非常適合用于零知識證明驗證(Goldwasser,Micali & Rackoff,1985)。
NP問題的一個經典例子是旅行商問題,其中要找到訪問一系列城市並返回起點的最短路徑。雖然找到最短路徑可能很困難,但給定一個路徑,驗證這條路徑是否是最短的相對容易。因為驗證一個具體路徑的總距離可以在多項式時間内完成。
Goldwasser等人在其論文中引入了「知識複雜度」(knowledgecomplexity)這一概念,用以量化在交互式證明系統中,證明者向驗證者泄露的知識量。他們還提出了交互式證明系統(InteractiveProof Systems,IPS),其中證明者(Prover)和驗證者(Verifier)通過多輪互動來證明某個語句的真實性(Goldwasser,Micali & Rackoff,1985)。
綜上,Goldwasser等人總結的零知識證明的定義,是一種特殊的交互式證明,其中驗證者在驗證過程中不會獲得除語句真值外的任何額外信息;並且提出了三個基本特性包括:
1.完備性(completeness):如果論證是真實的,誠實的證明者可以說服誠實的驗證者這一事實;
2.可靠性(soundness):如果證明者不知道聲明内容,他只能以微不足道的概率欺騙驗證者;
3.零知識性(zero-knowledge):在證明過程完成後,驗證者只獲得「證明者擁有此知識」的信息,而無法獲得任何額外内容(Goldwasser,Micali & Rackoff,1985)。
為更好理解零知識證明及其屬性,以下是一個驗證證明者是否擁有某些私密信息的示例,該示例分為三個階段:設置、挑戰和響應。
第一步:設置(Setup)
在這一步,證明者的目標是創建一個證據,證明他知道某個秘密數字 s,但又不直接顯示 s。設秘密數字;
選擇兩個大的質數 p 和 q,計算它們的乘積 。設質數 和 ,計算得到的;
計算,這里,v 作為證明的一部分被發送給驗證者,但它不足以讓驗證者或任何旁觀者推斷出 s。;
隨機選擇一個整數 r,計算 並發送給驗證者。這個值 x 用于後續的驗證過程,但同樣不暴露 s。設隨機整數,計算得到的 。
第二步:挑戰(Challenge)
驗證者隨機選擇一個位 a(可以是0或1),然後發送給證明者。這個「挑戰」決定了證明者接下來需要采取的步驟。
第三步:響應(Response)
根據驗證者發出的 a 值,證明者進行響應:
如果,證明者發送 (這里 r 是他之前隨機選擇的數)。
如果 ,證明者計算 並發送。設驗證者發送的隨機位,根據 a 的值,證明者計算 ;
最後,驗證者根據收到的 g 來驗證 是否等于 。如果等式成立,驗證者接受這個證明。當 時,驗證者計算驗證者計算 ,右側驗證 ; 當 時,驗證者計算驗證者計算 ,右側驗證 。
這里,我們看到驗證者計算得到的 說明證明者成功地通過了驗證過程,同時沒有泄露他的秘密數字 s。在這里,由于a只可以取0或1,僅有兩種可能性,證明者依靠運氣通過驗證的概率(當a取0時)。但驗證者隨後再挑戰證明者次,證明者不斷更換相關數字,提交給驗證者,且總能成功地通過驗證過程,這樣一來證明者依靠運氣通過驗證的概率(無限趨近于0),證明者確實知道某個秘密數字 s的結論便得到證明。這一例子證明了零知識證明系統的完整性、可靠性和零知識性( Fiat& Shamir,1986)。
零知識證明(ZKP)在傳統概念中通常是交互式和在線的協議形式;例如,Sigma協議通常需要三到五輪交互才能完成認證( Fiat& Shamir,1986)。然而,在諸如即時交易或投票等場景中,往往沒有機會進行多輪交互,特別是在區塊鏈技術應用中,線下驗證功能顯得尤為重要(Sun等,2021)。
1988年,Blum、Feldman和Micali首次提出了非交互式零知識(NIZK)證明的概念,證明了在無需多輪交互的情況下,證明者(Prover)與驗證者(Verifier)仍可完成認證過程的可能性。這一突破使得即時交易、投票以及區塊鏈應用的實現變得可行(Blum,Feldman & Micali, 1988)。
他們提出非交互式零知識證明(NIZK)可以分為三個階段:
1. 設置
2. 計算
3. 驗證
設置階段使用計算函數,將安全參數轉換為公共知識(證明者和驗證者均可獲取),通常編碼在一個共同參考字符串(CRS)中。這是計算證明並使用正確的參數和算法進行驗證的方式。
計算階段采用計算函數、輸入和證明密鑰,輸出計算結果和證明。
在驗證階段,通過驗證密鑰來驗證證明的有效性。
他們所提出的公共參考字符串(CRS)模型,即基于所有參與者共享一個字符串來實現NP問題的非交互式零知識證明。這種模型的運行依賴于CRS的可信生成,所有參與者必須能夠訪問相同的字符串。僅當CRS被正確且安全地生成時,依此模型實施的方案才能確保安全性。對于大量參與者而言,CRS的生成過程可能既複雜又耗時,因此盡管這類方案通常操作簡便且證明體積較小,其設置過程卻頗具挑戰 (Blum,Feldman & Micali, 1988)。
隨後,NIZK技術經曆了迅猛發展,湧現了多種方法將交互式零知識證明轉化為非交互式證明。這些方法在系統的構建或底層加密模型的假設上各有不同。
Fiat-Shamir變換,又叫Fiat-ShamirHeurisitc(啓發式),或者Fiat-Shamir Paradigm(範式);由Fiat和Shamir在1986年提出,是一種能夠將交互式零知識證明轉換為非交互式的方法。該方法通過引入哈希函數來減少交互次數,並依托安全假設來保障證明的真實性及其難以僞造的特性。Fiat-Shamir變換使用公共密碼學哈希函數替代部分隨機性和交互性,其輸出從某種程度上可以視作CRS。盡管此協議在隨機預言機模型中被視為安全,但它依賴于哈希函數輸出對不同輸入的均勻隨機性和獨立性這一假設 (Fiat &Shamir, 1986)。Canetti、Goldreich和Halevi在2003年的研究表明,雖然這種假設在理論模型中成立,但在實際應用中可能遇到挑戰,因此在使用時有失敗的風險 (Canetti,Goldreich & Halevi, 2003)。Micali後來對此方法進行改進,將多輪交互壓縮為單輪,進一步簡化了交互流程 (Micali,1994)。
Jens Groth的後續研究極大推動了零知識證明在密碼學和區塊鏈技術中的應用。2005年,他、Ostrovsky和Sahai三人一起共同提出了首個適用于任何NP語言的完美非交互零知識證明系統,即使面對動態/自適應對手也能保證通用組合安全(UC)。此外,他們利用數論複雜性假設,設計了一種簡潔高效的非交互零知識證明系統,顯著減少了CRS和證明的體積(Groth& Sahai, 2005)。
2007年,Groth、 Cramer及Damgård開始將這些技術商業化,通過實驗驗證,他們的公鑰加密和簽名方案在效率和安全性方面均有顯著提升,盡管這些方案基于雙線性群的假設 (Groth & Sahai, 2007)。2011年,Groth進一步探索如何將全同態加密與非交互零知識證明結合,提出了一種減少通信開銷的方案,使得NIZK的體積與證明的見證大小保持一致(Groth, 2011)。在隨後的幾年里,他與其他研究人員對基于配對的技術進行了深入研究,為大規模聲明提供了緊湊而高效的非交互式證明,盡管這些證明仍然沒有脫離雙線性群框架 (Bayer & Groth, 2012; Groth,Kohlweiss & Pintore, 2016; Bootle, Cerulli, Chaidos, Groth & Petit,2015; Groth, Ostrovsky & Sahai, 2012; Groth & Maller, 2017)。
在特定應用場景中,特定驗證者的非交互式零知識證明表現出了其獨特的實用價值。例如,Cramer和Shoup利用基于通用哈希函數的方法開發的公鑰加密方案,在1998年和2002年有效地抵禦了選擇性密文攻擊。此外,在密鑰注冊模型中,成功開發了一種新的非交互式零知識證明方法,適用于解決所有NP類問題,關鍵在于參與者需要注冊他們自己的密鑰以進行後續驗證(Cramer& Shou, 1998, 2002)。
此外,Damgård、Fazio和Nicolosi在2006年提出了改進已有Fiat-Shamir變換的新方法,允許在無需直接交互的情況下進行非交互式零知識證明。在他們的方法中,驗證者首先需要注冊一個公鑰,准備後續加密操作。證明者使用加法同態加密技術在不知情的情況下對數據進行運算,生成包含答案的加密信息,作為對挑戰的響應。這個方法的安全性基于「複雜性杠杆假設」,認為對于具備超常計算資源的對手,某些被認為難解的計算問題可能被解決(Damgård,Fazio &Nicolosi, 2006)。
Ventre和Visconti在2009年提出的「弱可歸責可靠性」概念是對這一假設的替代,要求對手在提出虛假證明時,不僅需意識到其虛假性,還必須清楚自己如何成功制造這一僞證。這一要求顯著增加了欺騙的難度,因為對手必須明確自己的欺騙手段。在實際操作中,使用此概念的對手需要提供特定證明,其中包含針對指定驗證者的密文信息,無該驗證者私鑰難以完成證明,從而在對手試圖僞造證明時,通過檢測暴露其行為(Ventre andVisconti, 2009)。
Unruh變換是2015年提出的一種Fiat-Shamir轉換的替代方案。Fiat-Shamir方法通常在面對量子計算時並不安全,並且對于某些協議可能産生不安全的方案(Unruh,2015)。相比之下,Unruh變換在隨機預言機模型(ROM)中,為任何交互式協議提供了對抗量子對手的可證明安全的非交互式零知識證明(NIZK)。與Fiat-Shamir方法相似,Unruh變換無需額外的設置步驟(Ambainis, Rosmanis & Unruh,2014)。
此外,Kalai等人提出了一種基于私有信息檢索技術的任意決策問題論證系統。該方法采用多證明者交互式證明系統(MIP)模型,並通過Aiello等人的方法,將MIP轉換為一個論證系統。這一構造在標准模型中運行,不需要依賴隨機預言機假設。這種方法被應用于一些基于「普通人證明(Proofs-for-Muggles)」的零知識論證中(Kalai, Raz& Rothblum, 2014)。
在這些技術基礎上,非交互式零知識證明(NIZK)已被廣泛應用于各種需要高度安全和隱私保護的領域,如金融交易、電子投票和區塊鏈技術等。通過減少交互次數和優化證明生成與驗證過程,NIZK不僅提高了系統的效率,還增強了安全性和隱私保護能力。在未來,隨著這些技術的進一步發展和完善,我們可以預期NIZK將在更多領域中發揮重要作用,為實現更加安全和高效的信息處理和傳輸提供堅實的技術基礎(Partala,Nguyen & Pirttikangas, 2020)。
在密碼學領域,尤其是在處理需要高度並行化和特定類型的計算任務(如大規模矩陣運算)時,傳統的圖靈機模型展現出一定的局限性。圖靈機模型需通過複雜的内存管理機制來模擬無限長的紙帶,並且不適合直接表達並行計算和流水線操作。相比之下,電路模型以其獨特的計算結構優勢,更適合于某些特定的密碼學處理任務 ( Chaidos,2017) 。本文將詳細探討基于電路的零知識證明系統(Zero-KnowledgeProof Systems Based on Circuit Models),這類系統特別強調使用電路(通常是算術電路或布爾電路)來表達和驗證計算過程。
在基于電路的計算模型中,電路被定義為一種特殊的計算模型,它能將任何計算過程轉換為一系列的門和連線,這些門執行特定的邏輯或算術操作。具體而言,電路模型主要分為兩大類:
算術電路:主要由加法和乘法門組成,用于處理有限域上的元素。算術電路適用于執行複雜的數值運算,廣泛應用于加密算法和數值分析中。
邏輯電路:由與門、或門、非門等基本邏輯門構成,用于處理布爾運算。邏輯電路適合于執行簡單的判斷邏輯和二進制計算,常用于實現各類控制系統和簡單的數據處理任務( Chaidos,2017)。
在零知識證明系統中,電路設計的過程涉及將待證明的問題表達為一個電路,這一過程需要設計zk電路需要大量的「逆向思維」:「如果一個計算的聲稱輸出是真實的,則輸出必須滿足一定的要求。如果這些要求難以僅用加法或乘法建模,我們要求證明者進行額外工作,以便我們更容易地模型化這些要求。」 設計過程通常遵循以下步驟( Chaidos,2017):
問題表示:首先將待證明的問題如密碼學哈希函數的計算過程,轉換為電路的形式。這包括將計算步驟分解為電路中的基本單元,如門和連線。
電路優化:通過技術手段如門合並和常數折疊,優化電路設計,減少所需的門數量和計算步驟,從而提高系統的運行效率和響應速度。
轉換為多項式表示:為適配零知識證明技術,將優化後的電路進一步轉換為多項式形式。每個電路元件和連接都對應于特定的多項式約束。
生成公共參考字符串(CRS):在系統初始化階段,生成包括證明密鑰和驗證密鑰在内的公共參考字符串,以供後續的證明生成和驗證過程使用。
證明生成與驗證:證明者根據其私有輸入和CRS,在電路上執行計算,生成零知識證明。驗證者則可以根據公開的電路描述和CRS,驗證證明的正確性,而無需了解證明者的私有信息( Chaidos,2017)。
零知識證明電路設計涉及將特定的計算過程轉化為電路表示,並通過構建多項式約束來確保計算結果的准確性,同時避免泄露任何額外的個人信息。在電路設計中,關鍵任務是優化電路的結構並生成有效的多項式表示,這是為了提升證明生成與驗證的效率。通過這些步驟實施,零知識證明技術能夠在不泄露額外信息的前提下,驗證計算的正確性,確保了隱私保護與數據安全性的雙重需求得到滿足( Chaidos,2017)。
弊端包括:
1.電路複雜性和規模:複雜計算需要龐大的電路,導致證明生成和驗證的計算成本顯著增加,尤其是在處理大規模數據時;
2.優化難度:盡管技術手段(如門合並、常數折疊等)可以優化電路,但設計和優化高效電路仍然需要深厚的專業知識;
3.特定計算任務的適應性:不同計算任務需要不同的電路設計,為每個具體任務設計高效電路可能耗時且難以推廣;
4.加密算法實現難度:實現複雜的密碼學算法(如哈希函數或公鑰加密)可能需要大量的邏輯門,使電路設計和實現變得困難;
5.資源消耗:大規模電路需要大量硬件資源,可能在功耗、熱量和物理空間等方面遇到實際硬件實現的瓶頸(Goldreich,2004;Chaidos,2017;Partala,Nguyen & Pirttikangas, 2020;Sun等,2021)。
解決方案和改進方向:
1.電路壓縮技術:通過研究和應用高效的電路壓縮技術,減少所需邏輯門數量和計算資源;
2.模塊化設計:通過模塊化設計電路,提高電路設計的複用性和可擴展性,減少為不同任務重新設計電路的工作量;
3.硬件加速:利用專用硬件(如FPGA或ASIC)加速電路計算,提高零知識證明的整體性能(Goldreich,2004;Chaidos,2017;Partala,Nguyen & Pirttikangas, 2020;Sun等,2021)。
基于電路的零知識證明通用性較差,需要為特定問題開發新的模型和算法,現有多種高級語言編譯器和低級電路組合工具去進行電路生成和設計算法,相關計算的轉換可以通過手動電路構建工具或自動編譯器完成。手動轉換通常能産生更優化的電路,而自動轉換對開發者更方便。性能關鍵應用通常需要手動轉換工具(Chaidos,2017;Partala,Nguyen & Pirttikangas, 2020;Sun等,2021)。
本文將討論其中最著名的幾種。總的來說,這些模型都是 zkSNARKs 技術的擴展或變體,每個都試圖在特定的應用需求(如證明大小、計算複雜性、設置需求等)中提供優化。
每種協議都有其特定的應用、優勢和局限性,特別是在設置要求、證明大小、驗證速度和計算開銷方面。它們在各個領域得到應用,從加密貨幣隱私和安全投票系統到以零知識方式驗證的一般計算等 (Čapko,Vukmirović & Nedić, 2019)。
1. zkSNARK模型:2011年,由密碼學者Bitansky等人提出,作為「零知識簡潔非交互式知識論證」(Zero-KnowledgeSuccinct Non-Interactive Argument of Knowledge)的縮寫,它是一種改進的零知識證明機制,如果存在可提取碰撞抗性哈希(ECRH)函數,那麽實現針對NP問題的SNARK是可能的,並展示了SNARK在計算委托、簡潔非交互式零知識證明以及簡潔雙方安全計算等多種情境中的適用性。這項研究還表明,SNARK的存在意味著ECRH的必要性,確立了這些密碼學原語之間的基礎性聯系(Bitanskyet al., 2011)。
zkSNARK系統由設置、證明者和驗證者三部分組成。設置過程生成證明密鑰(PK)和驗證密鑰(VK),使用預定義的安全參數l和F-算術電路C。該電路的所有輸入和輸出均為域F中的元素。PK用于生成可驗證的證明,而VK用于驗證生成的證明。基于生成的PK,證明者使用輸入x ∈ Fn和證人W ∈ Fh生成證明p,其中C(x, W) =0l。這里,C(x, W) =0l表示電路C的輸出為0l,x和W是電路C的輸入參數。n、h和l分別表示x、W和C輸出的維度。最後,驗證者使用VK、x和p來驗證p,根據驗證結果決定接受或拒絕該證明(Bitanskyet al., 2011)。
此外,zkSNARK還具備一些額外特性。首先,驗證過程可以在短時間内完成,並且證明的大小通常只有幾個字節。其次,證明者和驗證者之間不需要同步通信,任何驗證者都可以離線驗證證明。最後,證明者算法只能在多項式時間内實現。從那時起,已經出現了多種改進的zkSNARK模型,進一步優化了其性能和應用範圍(Bitanskyet al., 2011)。
2. Ben-Sasson的模型:Ben-Sasson等人在2013年和2014年提出了一種針對馮·諾依曼RISC架構程序執行的一種新的zkSNARK模型。然後,基于所提出的通用電路生成器,Ben-Sasson等人建立了一個系統,並展示了其在驗證程序執行中的應用。該系統包含兩個組件:用于驗證算術電路可滿足性的密碼學證明系統,以及將程序執行轉換為算術電路的電路生成器。該設計在功能和效率上均優于之前的工作,尤其是電路生成器的通用性和輸出電路大小的加性依賴。實驗評估表明,該系統可以處理多達10,000條指令的程序,並在高安全級別下生成簡潔的證明,其驗證時間僅為5毫秒。其價值在于為區塊鏈和隱私保護智能合約等實際應用提供了高效、通用且安全的zk-SNARKs解決方案(Ben-Sasson et al., 2013, 2014)。
3. Pinocchio模型:Parno等人(2013)提出,是一個完整的非交互零知識論證生成套件(Parno etal., 2013)。它包含一個高級編譯器,高級編譯器為開發者提供了一種將計算轉化為電路的簡便方法。這些編譯器接受用高級語言編寫的代碼,因此新舊算法都能輕松轉換。然而,為生成合適大小的電路,代碼結構可能會有一些限制 。
Pinocchio的另一個特點是使用了一種被稱為二次算術程序(QuadraticArithmetic Programs,QAPs)的數學結構,可以高效地將計算任務轉換為驗證任務。QAPs能夠將任意算術電路編碼為多項式集合,並且只需要線性時間和空間複雜度來生成這些多項式。Pinocchio生成的證明大小為288字節,不隨計算任務的複雜度和輸入輸出大小變化。這大大減少了數據傳輸和存儲的開銷。Pinocchio的驗證時間通常為10毫秒,相比之前的工作,驗證時間減少了5-7個數量級。對于某些應用,Pinocchio甚至能夠實現比本地執行更快的驗證速度。減少工作者的證明開銷:Pinocchio還減少了工作者生成證明的開銷,相比之前的工作,減少了19-60倍 (Parno etal.,2013)。
4. Bulletproofs模型:2017年BenediktBünz等人(2018)設計了新型非交互式ZKP模型。不需要可信設置,且證明大小隨見證值大小呈對數增長。Bulletproofs特別適用于在保密交易中的區間證明,能夠通過使用最小的群和字段元素數量證明一個值在某個範圍内。此外,Bulletproofs還支持區間證明的聚合,使得可以通過一個簡潔的多方計算協議生成一個單一的證明,大幅減少了通信和驗證時間。Bulletproofs的設計使其在加密貨幣等分布式和無需信任的環境中具有很高的效率和實用性。Bulletproofs嚴格意義上並非傳統的基于電路的協議,它們的簡潔性不如SNARKs,驗證Bulletproof的時間比驗證SNARK證明更長。但在不需要可信設置的場景中更高效。
5. Ligero模型:Ames等人(2017)提出的一種輕量級的零知識論證模型。Ligero的通信複雜性與驗證電路大小的平方根成正比。此外,Ligero可以依賴任何抗碰撞的哈希函數。此外,Ligero可以是隨機預言模型中的一個zkSNARK方案。此模型不需要受信任的設置或公鑰密碼系統。Ligero可用于非常大的驗證電路。同時,它適用于應用中的中等大型電路。
Ishai 和Paskin(2007)提出利用加法同態公鑰加密減少交互式線性PCP的通信複雜性。隨後Groth等人在2006年至2008年發表多篇研究提出了基于離散對數問題和雙線性配對的NIZK方案,實現了完美完備性、計算正確性和完美零知識。該方案將陳述表示為代數約束滿足問題,使用類似Pedersen承諾的加密承諾方案實現次線性證明長度和非交互性,而無需Fiat-Shamir啓發式。盡管需要較大的CRS和強加密假設「指數知識」,足夠長的CRS可實現常量證明長度。驗證和證明代價較高,建議采用「模擬可提取性」安全模型。這個類型方案基于線性PCP和/或離散對數問題,但均不具備抗量子安全性(Groth, 2006,2006, 2008; Groth & Sahai, 2007)。
6. Groth16模型:是一種高效的非交互式零知識證明系統,由Jens Groth在2016年提出。該協議基于橢圓曲線配對和二次算術程序(QAP),旨在提供簡潔、快速和安全的零知識證明。
7. Sonic模型:M. Maller 等人(2019)提出,基于Groth的可更新CRS模型,使用多項式承諾方案、配對和算術電路。需要可信設置,可通過安全多方計算實現。一旦生成CRS,支持任意大小電路。
8. PLONK模型:2019年提出的一個通用的zk-SNARK,使用排列多項式簡化算術電路表示,使證明更簡單和高效;它具有多功能性,並支持遞歸證明組合(Gabizon,Williamson & Ciobotaru, 2019)。PLONK模型自稱減少了Sonic的證明長度並提高了證明效率,但尚未通過同行評審。
9. Marlin模型:一種改進式的zk-SNARK協議,將代數證明系統的效率與Sonic和PLONK的通用和可更新設置屬性相結合,提供了證明大小和驗證時間方面的改進 (Chiesa etal., 2019)。
10. SLONK 模型:Zac 和Ariel在 ethresear一個文件里介紹的新型協議,一種PLONK的擴展,旨在解決特定的計算效率問題並增強原始PLONK系統的功能,通常涉及底層加密假設或實現的變化 (Ethereum Research, 2019)。
11. SuperSonic模型:一種應用新穎的多項式承諾方案,將Sonic轉換為無需可信設置的零知識方案。不具備抗量子安全性 (Bünz, Fisch & Szepieniec, 2019)。
「普通人證明」(Proofs-for-Muggles)是由Goldwasser、Kalai和Rothblum在2008年提出的一種新的零知識證明方法。該方法在原始交互證明模型中為多項式時間證明者構建交互證明,適用于廣泛的問題。通過Kalai等人的轉換,這些證明可以變為非交互式零知識證明( Kalai, Raz &Rothblum, 2014)。
12. Hyrax模型:基于普通人證明,Wahby等人(2018)首先設計了一個低通信、低成本的零知識論證方案Hyrax,對證明者和驗證者來說成本很低。在這個方案中,這個論證中沒有受信任的設置。如果應用于批量語句,則驗證時間與算術電路大小具有亞線性關系,且常數很好。證明者的運行時間與算術電路大小成線性關系,常數也很好。使用Fiat-Shamir啓發式實現非交互性,基于離散對數問題,未實現抗量子安全。
13. Libra模型:第一個具有線性證明者時間、簡潔證明大小和驗證時間的ZKP模型。在Libra中,為了減少驗證的開銷,零知識機制通過一種可以掩蓋證明者響應的輕微隨機多項式的方法來實現。此外,Libra需要一次性受信任的設置,這只依賴于電路的輸入大小。Libra具有出色的漸近性能和證明者的卓越效率。其證明大小和驗證時間的性能也非常高效(Xie etal., 2019)。
就證明者算法的計算複雜性而言,Libra優于Ben-Sasson的模型、Ligero、Hyrax和Aurora。此外,Libra的證明者算法的計算複雜性與電路類型無關(Partala,Nguyen & Pirttikangas, 2020)。
14. Spartan模型:SrinathSetty(2019)提出的旨在提供高效證明而不需要受信任設置的零知識證明系統;使用Fiat-Shamir轉換實現非交互性。它以其輕量級設計和有效處理大電路的能力而聞名。
Kilian(1992)構建了第一個用于NP的交互式零知識論證方案,實現了多對數通信。該方案使用了抗碰撞哈希函數、交互式證明系統(IP)和概率可檢驗證明(PCP)。證明者和驗證者(作為隨機算法)通過多輪通信,驗證者測試證明者對陳述的知識。通常只考慮單邊錯誤:證明者總能為真實陳述辯護,但驗證者可能以低概率接受虛假陳述。2000年,Micali使用Fiat-Shamir轉換將方案轉化為單消息非交互式方案。以下實現可被視為采用了這種方法:
15. STARK模型:2018年,ZK-STARKs(Scalable Transparent ARgument of Knowledge) 技術由Ben-Sasson等人在2018年提出,旨在解決zk-SNARKs 處理複雜證明時的低效問題。同時,解決了在隱私數據上驗證計算完整性的問題,能夠在不依賴任何受信方的情況下,提供透明且後量子安全的證明。
同年,Ben-Sasson等人創辦StarkWareIndustries ,並開發了第一個基于ZK-STARKs 的可擴展性解決方案StarkEx。根據以太坊的官方文檔,其可通過Fiat-Shamir範式在隨機預言機模型中實現非交互性。該構造具有抗量子安全性,但其安全性依賴于關于Reed-Solomon碼的非標准加密假設。ZK-STARKs 具有與 ZK-SNARKs 相同的特性,但包括以下優點:a) 可擴展性:驗證過程更快。透明性:驗證過程是公開的。較大的證明大小:需要更高的交易手續費(StarkWare Industries,2018,2018)
16. Aurora模型:Ben-Sasson等人(2019)提出,是基于STARK的簡潔非交互論證(SNARG)。非交互性基于Fiat-Shamir構造。它適用于算術電路的滿足性。Aurora的論證大小與電路大小成多對數關系。此外,Aurora具有幾個吸引人的特點。在Aurora中,有一個透明的設置。不存在有效的量子計算攻擊,可以破解Aurora。此外,快速對稱加密被用作黑盒。Aurora優化了證明大小。例如,如果安全參數是128位,則Aurora的證明大小最多為250千字節。Aurora和Ligero通過優化證明大小和計算開銷,使得它們非常適合在資源有限的設備上進行零知識證明。這些優化不僅提升了效率,還擴大了零知識證明技術的應用範圍,使其能夠在更多實際場景中得到應用。
17. Succinct Aurora模型:Ben-Sasson 等人(2019)于同一篇論文中提出:Aurora協議的擴展,提供了更優化的證明大小和驗證過程。它保持了Aurora的透明設置和安全功能,同時增強了效率。
18. Fractal模型:Chiesa等人(2020)提出,一種預處理SNARK,使用遞歸組合提高效率和可擴展性。它利用對數證明大小和驗證時間,特別適用于複雜計算。
第一代(G1)- 每個電路需要單獨的受信任設置。zkSNARK, Pinocchio和Groth16
第二代(G2)- 最初為所有電路設置一次。PlonK ,Sonic,Marlin, slonk 和Libra
第三代(G3)- 不需要受信任設置的證明系統。Bulletproofs,STARKs,Spartan,Fractal,Supersonic ,Ligero, Aurora和SuccinctAurora (Čapko, Vukmirović & Nedić, 2019;Partala,Nguyen & Pirttikangas, 2020)。
前面介紹的部分更多的是零知識證明ZKP在密碼學中的發展,接下來我們簡單介紹一下它在計算機領域的發展。
2019年 , Andreev等人在「ZkVM:Fast, Private, Flexible Blockchain Contracts」大會上首次提出ZK-VM 的概念,作為零知識證明系統的一種實現方式。ZK-VM 的目標是通過運行虛擬機程序來生成零知識證明,驗證程序執行的正確性而不泄露輸入數據。
VM,(VirtualMachine,虛擬機)是一種軟件模擬的計算機系統,能夠執行程序,類似于物理計算機。VM通常用于創建獨立的操作系統環境,進行軟件測試和開發等。VM或者VM抽象可以在大多數情況下等同理解為CPU抽象,它是指將計算機的處理單元(CPU)的複雜操作和架構抽象成一組簡單的、可操作的指令集架構(ISA),用于簡化計算機程序的設計和執行。在這種抽象中,計算機程序可以通過虛擬機(VM)來運行,這些虛擬機模擬真實CPU的操作行為(Henderson,2007)。
零知識證明(ZKP)通常需要通過CPU抽象進行執行。設定是證明者在私有輸入上運行公共程序,並希望向驗證者證明程序正確執行並産生了斷言的輸出,而不透露計算的輸入或中間狀態。CPU抽象在這種情況下非常有用,因為它允許程序在受控的虛擬環境中運行,同時生成證明(Arun, Setty& Thaler, 2024)。
示例: 證明者希望證明其擁有一個哈希值的密碼,而不透露密碼:
一般情況下,證明者應該能夠運行執行哈希操作的代碼,並生成允許任何人驗證證明正確性的「證明」,即證明者確實擁有給定哈希值的有效前像。
生成這些VM抽象證明的系統通常稱為「zkVMs」。這個名稱其實具有誤導性,因為ZKVM不一定提供零知識。簡而言之,ZKVM是一種專注于零知識證明的虛擬機,擴展了傳統VM的功能,可以通用化地降低了零知識電路的開發門檻,能夠即時為任意應用或計算生成證明 ( Zhang etal., 2023)。
按照設計目標,主要分為三類:
1. 主流型ZKVM
這些ZKVM利用現有的標准指令集架構(ISA)和編譯器工具鏈,適用于廣泛的應用和開發環境。
• RISCZero(2021):使用RISC-V指令集,具有豐富的編譯器生態系統(Bögli,2024)。
• PolygonMiden(2021):基于標准ISA,實現簡便和高效的開發(Chawla,2021)。
• zkWASM(2022):zkWASM實現了WebAssembly(WASM)指令集的零知識證明,WASM是一種廣泛采用的標准指令集 (DelphinusLab, 2022 )。
2. EVM等效型ZKVM
這些ZKVM專門設計用于與以太坊虛擬機(EVM)兼容,能夠直接運行以太坊的字節碼。
• zkEVM項目:多個項目致力于實現與EVM的字節碼級兼容,如zkSync ( MatterLabs , 2020) 和Polygon Hermez (Polygon Labs ,2021)。
3. 零知識優化(零知識友好)型ZKVM
這些ZKVM優化了零知識證明的效率和性能,專為特定應用場景設計。
• Cairo-VM(2018):簡單且與SNARK證明兼容,其指令集特別設計為算術友好,便于在零知識電路中實現基本算術運算,如加法、乘法等 (StarkWare, 2018)。
• Valida(2023):針對特定應用進行了優化,例如通過優化算法,減少了生成證明所需的計算資源和時間;輕量級設計使其適用于各種硬件和軟件環境 (LitaFoundation, 2023)。
• TinyRAM(2013):不依賴標准工具鏈:由于其簡化和優化的設計,通常不支持LLVM或GCC工具鏈,只能用于小規模定制軟件組件( Ben-Sasson et al., 2013)。
當前的普遍觀點是,更簡單的VM可以轉換為每步門數更少的電路。這在特別簡單且顯然對SNARK友好的VM(如TinyRAM和Cairo-VM)設計中最為明顯。然而,這需要額外的開銷,因為在簡單VM上實現現實世界CPU的原始操作需要許多原始指令(Arun, Setty& Thaler, 2024)。
從程序設計視角,ZKP系統一般可以劃分為前端frontend和後端backend兩個部分。ZKP系統的Frontend部分的主要使用低級別語言來表示高級別語言,例如可以將一個一般地計算問題使用較低級別的電路語言表示,如R1CS電路約束構建計算等(比如circom使用R1CS描述其前端電路)。ZKP系統的Backend部分即密碼學證明系統,主要將frontend構建低級別的語言描述的電路,轉換為生成證明和驗證正確性等,比如常用的backend系統協議有Groth16和Plonk等(Arun, Setty& Thaler, 2024;Zhang et al., 2023) 。
通常,電路將逐步「執行」計算程序的每一步(借助不受信任的「建議輸入」)。執行CPU的一步概念上涉及兩個任務:(1)識別該步驟應執行的基本指令,(2)執行指令並適當地更新CPU狀態。現有前端通過精心設計的門或約束實現這些任務。這既耗時又容易出錯,也導致電路比實際需要的大得多(Arun, Setty& Thaler, 2024;Zhang et al., 2023) 。
優點:
1.利用現有的ISA:例如,RISC-V和EVM指令集,可以利用現有的編譯器基礎設施和工具鏈,無需從頭構建基礎設施。可以直接調用現有的編譯器,將高層語言編寫的證人檢查程序轉換為ISA的匯編代碼,並受益于之前的審核或其他驗證工作。
2.單一電路支持多程序:zkVM允許一個電路運行所有程序,直到達到某個時間限制,而其他方法可能需要為每個程序重新運行前端。
3.重複結構的電路:前端輸出具有重複結構的電路,針對這些電路的後端可以更快地處理(Arun, Setty& Thaler, 2024;Zhang et al., 2023) 。
缺點:
1.通用性帶來的開銷:為了支持所有可能的CPU指令序列,zkVM電路需要為其通用性付出代價,導致電路規模和證明成本的增加。
2.高成本操作:在zkVM中實現某些重要操作(如加密操作)非常昂貴。例如,ECDSA簽名驗證在真實CPU上需要100微秒,在RISC-V指令上則需數百萬條指令。因此,zkVM項目包含手工優化的電路和查找表,用于計算特定功能。
3.證明成本高:即使對于非常簡單的ISA,現有zkVM的證明者成本仍然很高。例如,Cairo-VM的證明者每步需要加密提交51個域元素,這意味著執行一個原始指令可能需要在真實CPU上執行數百萬條指令,限制了其在複雜應用中的適用性(Arun, Setty& Thaler, 2024;Zhang et al., 2023) 。
ZKEVM(零知識以太坊虛擬機)和ZKVM(零知識虛擬機)都是應用零知識證明(ZKP)技術的虛擬機。以太坊虛擬機(EVM)是以太坊區塊鏈系統的一部分,負責處理智能合約的部署和執行。EVM具有基于堆棧的架構,是一個計算引擎,提供特定指令集的計算和存儲(如日志操作、執行、内存和存儲訪問、控制流、記錄、調用等)。EVM的角色是應用智能合約的操作後,更新以太坊的狀態。ZKEVM專為以太坊設計,主要用于驗證智能合約執行的正確性,同時保護交易隱私。ZKEVM將EVM指令集轉換到ZK系統中執行,每條指令都需提供證明,包括狀態證明和執行正確性證明(Čapko,Vukmirović & Nedić, 2019)。
ZKEVM目前比較主流的方案有STARKWARE,ZkSync,Polygen-Hermez,Scroll等,下面是對這個幾個項目的簡介(Čapko,Vukmirović & Nedić, 2019):
STARKWARE :Ben-Sasson等人(2018)創辦,致力于使用STARK零知識證明技術提升區塊鏈的隱私和擴展性
zkSync:由AlexGluchowski(2020)等人創立Matter Labs,,提出基于zk-rollups的以太坊Layer 2擴展解決方案。
Polygon-Hermez:Hermez原先是獨立項目,于2020年發布。2021年8月被Polygon收購後成為PolygonHermez,專注于高吞吐量的zk-rollups解決方案。
Scroll:Zhang 和Peng(2021)創立,實現了更高的交易吞吐量和更低的Gas費用,從而提高了以太坊的整體性能和用戶體驗。
一般按照對EVM的兼容級別可以劃分為(Čapko,Vukmirović & Nedić, 2019):
1. EVM-EVM-compatibility智能合約功能級別兼容,如STARKWARE,zkSync
2. EVM-equivalence,EVM指令級別兼容(等同),如polygen-Hrmez,scroll
基于零知識的以太坊系統改進解決方案請見圖1
| Type of Optimization | Solution | Used Algorithms/Compilers |
| Algorithm Improvement | Polygon Zero | Plonky3, Plonky2, Keccak256, FRI, Plonk |
| Hybridization | Polygon Nightfall | Nightfall |
| ZK EVM | AppliedZKP | Halo2, KZG, BN-254 |
| zkSync | ultraPlonk | |
| Polygon Hermez | Plonk, KZG, Groth16 | |
| Sin7Y | Halo2, KZG, Recursive Plonk | |
| Polygon Miden | STARK based ZK VM | |
| Hardware | DIZK | Distributed zkSNARK |
| PipeZK | POLY, MSM | |
| PipeMSM | PipeMSM | |
| HardAcc-Groth16 | Groth16 | |
| CPU/GPUAcc - Bulletproof | Bulletproof |
節點程序處理:節點程序處理和驗證執行日志、區塊頭、交易、合約字節碼、默克爾證明等,並將這些數據發送給zkEVM處理。
生成ZK證明:zkEVM使用電路生成執行結果的ZK證明(狀態和執行正確性證明),這些電路功能主要使用table和特制circuit來實現。
聚合證明:使用聚合電路將大的證明生成更小的證明,如使用遞歸證明。
發送到L1合約:聚合證明以交易形式發送給L1合約執行(Čapko,Vukmirović & Nedić, 2019)。
獲取數據:從以太坊區塊鏈系統獲取數據,包括交易、區塊頭、合約等。
處理數據:處理和驗證執行日志、區塊頭、交易、合約字節碼、默克爾證明等。
生成證明:使用電路生成ZK證明,確保每條指令的狀態更新和執行正確性。
遞歸證明:將生成的大證明壓縮為更小的聚合證明。
提交證明:將聚合證明提交給L1合約,以完成交易驗證(Čapko,Vukmirović & Nedić, 2019)。
提升交易處理能力:通過L2上的ZKEVM執行交易,減少L1的負載。
隱私保護:在驗證智能合約執行的同時保護交易隱私。
高效驗證:使用零知識證明技術,實現高效的狀態和執行正確性驗證(Čapko,Vukmirović & Nedić, 2019)。
以太坊區塊鏈是當前最廣泛采用的區塊鏈生態系統之一。然而,以太坊面臨嚴重的擴展性問題,導致使用成本高昂。零知識二層網絡方案(ZK Rollup)基于零知識證明(ZKP),是一種針對以太坊擴容的二層網絡(Layer 2)解決方案,克服了OptimisticRollups交易最終確認時間過長的缺陷 ( Ganguly, 2023)。
ZK Rollup允許在一筆交易内實現可擴展性。L1上的智能合約負責處理並驗證所有轉賬,理想情況下只生成一筆交易。這是通過在鏈下執行交易來減少以太坊上的計算資源使用,並將最終的簽名交易重新放回鏈上進行。這一步驟被稱為有效性證明(ValidityProof)。在某些情況下,可能無法在單一證明内完成驗證,需要額外的交易將rollup上的數據發布到以太坊主鏈上,以確保數據的可用性( Ganguly,2023)。
在空間方面,使用ZK Rollup由于不需要像普通智能合約那樣存儲數據,因此提高了效率。每筆交易僅需要驗證證明,這進一步確認了數據的最小化,使得它們更便宜和更快( Ganguly,2023)。
盡管ZK Rollup名稱中包含「ZK」(零知識)的術語,但它們主要利用零知識證明的簡潔性來提高區塊鏈交易的處理效率,而不是主要關注隱私保護( Ganguly,2023)。
ZK Rollup(零知識匯總)作為以太坊擴展性的Layer 2解決方案,雖然在提高交易處理效率方面表現優異,但其主要問題在于計算成本非常高。然而,通過一些優化方案,可以顯著提高ZK Rollup的性能和可行性( (Čapko,Vukmirović & Nedić, 2019)。
1. 優化密碼算法的計算
優化密碼算法的計算過程可以提高ZK Rollup的效率,減少計算時間和資源消耗。例如,Plonky2由PolygonZero(前身為MIR)提出,是一種去中心化的ZK Rollup解決方案。Plonky2是一種遞歸SNARK,比其他以太坊兼容替代品快100倍,結合了STARKs和SNARKs的最佳特性:
例如,PolygonNightfall 是一種混合Rollup,結合了Optimistic和ZK Rollup的特點,旨在增加交易隱私並減少轉賬費用(最多可減少86%)。
3. 開發專用ZK EVM
專用ZK EVM是為提高ZK Rollup算法而設計的,可以優化零知識證明過程。以下是幾種具體方案:
硬件優化可以顯著提升ZK Rollup的性能。以下是幾種硬件優化方案:
零知識證明協議(如ZKSNARKs和ZKSTARKs)在執行過程中通常涉及大量複雜的數學運算,這些運算需要在極短的時間内完成,對計算資源(如CPU和GPU)提出了極高的要求,導致計算複雜性高、計算時間長。此外,生成和驗證零知識證明需要頻繁訪問大容量數據,對内存帶寬提出了高要求。現代計算機系統的内存帶寬有限,無法高效支持如此高頻的數據訪問需求,導致性能瓶頸。最終,高計算負載導致高能耗,尤其是在區塊鏈和去中心化應用中,需要持續進行大量證明計算時。因此,盡管軟件優化方案可以部分緩解這些問題,但由于通用計算硬件的物理限制,難以達到硬件加速的高效率和低能耗水平。混合解決方案在保持靈活性的同時,可以實現較高的性能提升 (Zhang etal., 2021)。
ZK-ASIC(專用集成電路)
2020年期間多個項目出現,旨在通過硬件如GPU 或者FPGA加速優化零知識證明(ZKP)的生成和驗證過程,提高效率 (Filecoin,2024; Coda,2024;Gpu groth16 prover, 2024; Roy et al.,2019; Devlin,2024;Javeed& Wang,2017)。
2021年:Zhang等人提出了一種基于流水線架構的零知識證明加速方案,利用Pippenger算法優化多標量乘法(MSM),通過「解卷」快速傅里葉變換(FFT)減少數據傳輸延遲(Zhang etal., 2021)。
ZKCoprocessor(協處理器)
Axiom(2022)提出ZKCoprocessor概念,即ZK協處理器。協處理器是指增強CPU並提供浮點運算、加密運算或圖形處理等專門操作的單獨芯片。盡管隨著CPU變得越來越強大,該術語已不再常用,但GPU仍可視為CPU的一種協處理器,尤其是在機器學習背景下。
ZK協處理器這一術語將物理協處理器芯片的類比擴展到區塊鏈計算,允許智能合約開發人員無狀態地證明現有鏈上數據的鏈下計算。智能合約開發者面臨的最大瓶頸之一仍然是鏈上計算的高昂成本。由于每項操作都要計算 gas,因此複雜應用邏輯的成本很快就會變得不可行。ZK 協處理器為鏈上應用引入了一種新的設計模式,消除了必須在區塊鏈虛擬機中完成計算的限制。這使應用程序能夠訪問更多數據並以比以前更大的規模運行(Axiom, 2022)。
ZKML的概念
零知識機器學習(Zero-KnowledgeMachine Learning, ZKML)是將零知識證明(ZKP)技術應用于機器學習中的一個新興領域。ZKML的核心思想是允許在不泄露數據或模型細節的情況下驗證機器學習計算結果。這不僅可以保護數據隱私,還能確保計算結果的可信性和正確性 ( Zhang etal., 2020 )。
ZKML的發展
2020年,張學者等人在2020年的CCS會議上首次系統地提出了ZKML的概念,展示了如何在不泄露數據或模型細節的情況下進行決策樹預測的零知識證明。這為ZKML奠定了理論基礎。
2022年,Wang 和Hoang進一步研究並實現了ZKML,並提出了一種高效的零知識機器學習推理管道,展示了如何在現實應用中實現ZKML。研究表明,盡管ZKP技術複雜,但通過合理的優化,可以在保證數據隱私和計算正確性的同時,達到可接受的計算性能。
ZKThreads的概念提出
2021年,StarkWare提出了ZKThreads的概念,旨在結合零知識證明(ZKP)和分片技術,為去中心化應用(DApps)提供可擴展性和定制性,而不會産生碎片化問題。ZKThreads通過在基礎層直接回退,確保每一步的實時性,從而提高了安全性和可組合性。
ZKThreads 的主要在單鏈結構,rollup流動性問題,和Proto-Danksharding三個方面進行了優化。
單鏈解決方案:在傳統的單鏈架構中,所有交易都在一條鏈上進行處理,導致系統負載過重,擴展性差。ZKThreads 通過將數據和計算任務分配到多個分片中,顯著提升了處理效率。
ZK-rollups解決方案:雖然 ZK-rollups已經顯著提高了交易處理速度和降低了成本,但它們通常是獨立運行的,導致流動性碎片化和互操作性問題。ZKThreads 提供了一個標准化的開發環境,支持不同分片之間的互操作性,解決了流動性碎片化的問題。
Proto-Danksharding技術:這是以太坊的一種内部改進方案,通過暫存數據塊來降低 zk-rollups的交易成本。ZKThreads 在此基礎上進一步改進,通過更高效的分片架構,減少了對臨時數據存儲的依賴,提高了系統的整體效率和安全性(StarkWare,2021)。
ZK Sharding的概念提出
此後,在2022年,NilFoundation提出了ZK Sharding的概念,旨在通過結合零知識證明(ZKP)和分片技術,來實現以太坊的擴展性和更快的交易速度。這一技術旨在將以太坊網絡分成多個部分,以更便宜和更高效的方式處理交易。該技術包括zkSharding,利用零知識技術生成證明,確保跨不同分片的交易在提交到主鏈之前是有效的。這種方法不僅提升了交易速度,還減少了鏈上數據的碎片化問題,確保了經濟安全性和流動性。
ZK State Channels
2021年,ZK StateChannels的概念由Virtual Labs提出,結合了零知識證明(ZKP)和狀態通道技術,旨在通過狀態通道實現高效的鏈外交易,同時利用零知識證明來確保交易的隱私和安全。
ZK State Channels替代的原有方案
1. 傳統狀態通道(StateChannels):
原有方案:傳統狀態通道允許兩個用戶通過鎖定資金在智能合約中進行點對點(P2P)交易。由于資金已被鎖定,用戶之間的簽名交換可以直接進行,不涉及任何gas費用和延遲。然而,這種方法需要預定義的地址,且通道的開閉需要鏈上操作,限制了其靈活性。
替代方案:ZK StateChannels 提供了無限參與者的支持,允許動態進入和退出,不需要預定義用戶地址。此外,通過零知識證明,ZK StateChannels 提供了即時的跨鏈訪問和自驗證的證明,解決了傳統狀態通道的靈活性和擴展性問題。
多鏈支持:
預定義地址限制:
ZK Omnichain InteroperabilityProtocol
2022年,ZKOmnichain Interoperability Protocol由Way Network提出,旨在實現基于零知識證明的跨鏈資産和數據互操作性。該協議通過使用zkRelayer、ZK Verifier、IPFS、Sender和Receiver實現全鏈通信和數據傳輸。
Omnichain項目專注于跨鏈互操作性,旨在提供一個低延遲、安全的網絡,連接不同的區塊鏈。它通過引入標准化的跨鏈交易協議,使得各區塊鏈之間的資産和數據可以無縫轉移。這種方法不僅提高了交易的效率,還確保了跨鏈操作的安全性。
Way Network可以看作是Omnichain概念的一種具體實現,特別是在使用零知識證明技術來增強隱私性和安全性方面。Way Network的技術架構使得它能夠在保持去中心化和高效性的同時,實現鏈間的無縫互操作。
總結來說,Omnichain提供了跨鏈互操作性的總體框架,而Way Network則通過零知識證明技術,為這一框架提供了更強的隱私保護和安全性。
本文對零知識證明(ZKP)技術及其在區塊鏈領域的最新發展和應用進行了全面的文獻綜述。我們系統地審查了區塊鏈環境中的ZKP,調查了適用于區塊鏈和可驗證計算的最先進的零知識論證方案,並探討了它們在匿名和保密交易以及隱私智能合約中的應用。本文列舉了這些經過學術同行評審的方案和方法的優缺點,提供了這些方案的實際評估和比較的參考資料,強調了開發人員在選擇特定用例的合適方案時需要具備的技能和知識。
此外,本文還展望了零知識證明在硬件加速、區塊鏈擴展性、互操作性和隱私保護等方面的未來發展方向。通過對這些最新技術和發展趨勢的詳細分析,本文為理解和應用零知識證明技術提供了全面的視角,展示了其在提升區塊鏈系統效率和安全性方面的巨大潛力。同時,這項研究為後續關于ZK項目投資的研究奠定了堅實的基礎。
Ames, S.,Hazay, C., Ishai, Y. and Venkitasubramaniam, M. (2017) 'Ligero', Proceedingsof the 2017 ACM SIGSAC Conference on Computer and Communications Security,pp. 2087-2104. DOI: https://doi.org/10.1145/3133956.3134104.
AdaPulse(2024) 'The Convergence of Zero-Knowledge Proofs and Decentralized Systems:Part 1', AdaPulse. Available at: https://adapulse.io/the-convergence-of-zero-knowledge-proofs-and-decentralized-systems-part-1 (Accessed:30 June 2024).
Ambainis,A., Rosmanis, A. and Unruh, D. (2014) 'Quantum attacks on classical proofsystems: The hardness of quantum rewinding', in Proceedings of the IEEE 55thAnnual Symposium on Foundations of Computer Science (FOCS 2014), pp.474-483.
Andreev,O., et al. (2019) 'ZkVM: Fast, Private, Flexible Blockchain Contracts'.Available at: https://cathieyun.github.io/presentations/zkvm.html (Accessed:30 June 2024).
Arun, A.,Setty, S. and Thaler, J. (2024) 'Jolt: SNARKs for Virtual Machines viaLookups', in Joye, M. and Leander, G. (eds) Advances in Cryptology –EUROCRYPT 2024, Lecture Notes in Computer Science, vol. 14656. Cham:Springer. Available at: https://doi.org/10.1007/978-3-031-58751-1_1 (Accessed:30 June 2024).
Axiom(2022) 'What is a ZK Coprocessor?'. Available at: https://blog.axiom.xyz (Accessed:30 June 2024).
Bögli, R.(2024) 'Assessing RISC Zero using ZKit: An Extensible Testing and BenchmarkingSuite for ZKP Frameworks'. Masters thesis, OST OstschweizerFachhochschule.
Burger, E.(2022) 'Decentralized Speed: Advances in Zero Knowledge Proofs', a16z.Available at: https://a16z.com/decentralized-speed-advances-in-zero-knowledge-proofs/ (Accessed:30 June 2024).
Blum, M.,Feldman, P. and Micali, S. (1988) 'Non-interactive zero-knowledge and itsapplications', Proceedings of the Twentieth Annual ACM Symposium on Theoryof Computing (STOC '88), pp. 103-112. DOI: https://doi.org/10.1145/62212.62222.
Bootle, J.,Cerulli, A., Chaidos, P., Groth, J. and Petit, C. (2015) 'Efficientzero-knowledge arguments for arithmetic circuits in the discrete log setting', EUROCRYPT2016: Advances in Cryptology, Lecture Notes in Computer Science, vol. 9666,pp. 327-357. Available at: https://link.springer.com/chapter/10.1007/978-3-662-49896-5_12 (Accessed:30 June 2024).
Bayer, S.and Groth, J. (2012) 'Efficient zero-knowledge argument for correctness of ashuffle', EUROCRYPT 2012: Advances in Cryptology, Lecture Notes inComputer Science, vol. 7237, pp. 263-280. Available at: https://link.springer.com/chapter/10.1007/978-3-642-29011-4_16 (Accessed:30 June 2024).
Bitansky,N., Canetti, R., Chiesa, A. and Tromer, E. (2011) 'From Extractable CollisionResistance to Succinct Non-Interactive Arguments of Knowledge, and Back Again',Cryptology ePrint Archive. Available at: https://eprint.iacr.org/2011/443.pdf (Accessed:30 June 2024).
Bünz, B.,Bootle, J., Boneh, D., Poelstra, A., Wuille, P. and Maxwell, G. (2018)'Bulletproofs: Short Proofs for Confidential Transactions and More', CryptologyePrint Archive. Available at: https://eprint.iacr.org/2017/1066.pdf (Accessed:30 June 2024).
Bünz, B.,Fisch, B. and Szepieniec, A. (2019) 'Transparent SNARKs from DARK Compilers', CryptologyePrint Archive. Available at: https://eprint.iacr.org/2019/1229 (Accessed:28 June 2024).
Ben-Sasson,E., Chiesa, A., Genkin, D., Tromer, E. and Virza, M. (2013) 'SNARKs for C:Verifying Program Executions Succinctly and in Zero Knowledge (extendedversion)', Cryptology ePrint Archive. Available at: https://eprint.iacr.org/2013/507.pdf (Accessed:30 June 2024).
Ben-Sasson,E., Chiesa, A., Garman, C., Green, M., Miers, I., Tromer, E. and Virza, M.(2014) 'Succinct Noninteractive Zero Knowledge for a Von Neumann Architecture',in Proceedings of the 23rd USENIX Security Symposium, pp. 781-796.
Ben-Sasson,E., Chiesa, A., Garman, C., Green, M., Miers, I., Tromer, E. and Virza, M.(2014) 'Zerocash: Decentralized Anonymous Payments from Bitcoin', in Proceedingsof the 2014 IEEE Symposium on Security and Privacy.
Ben-Sasson,E., Bentov, I., Horesh, Y. and Riabzev, M. (2018) 'Scalable, Transparent, andPost-Quantum Secure Computational Integrity', Cryptology ePrint Archive.Available at: https://eprint.iacr.org/2018/046.pdf (Accessed:30 June 2024).
Ben-Sasson,E., Chiesa, A., Riabzev, M., Spooner, N., Virza, M. and Ward, N. (2019)'Aurora: Transparent Succinct Arguments for R1CS', Cryptology ePrint Archive.Available at: https://eprint.iacr.org/2018/828.pdf (Accessed:3 May 2024).
Chaidos,P.I.P. (2017) Zero Knowledge Protocols and Applications. Doctor ofPhilosophy Dissertation. University College London, Security & CrimeScience.
Chawla, V.(2021) 'Polygon Unveils ZK-Rollup Solution Miden to Scale Ethereum', CryptoBriefing. Available at: https://cryptobriefing.com/polygon-unveils-miden (Accessed:30 June 2024).
Chiesa, A.,Hu, Y., Maller, M., Mishra, P., Vesely, P. and Ward, N. (2019) 'M:Preprocessing zkSNARKs with Universal and Updatable SRS'. [online] Availableat: https://eprint.iacr.org/2019/1047.pdf (Accessed:30 June 2024).
CodaProtocol (n.d.) 'Gpu groth16 prover'. Available at: https://github.com/CodaProtocol/gpu-groth16-prover-3x (Accessed:30 June 2024).
Chiesa, A.,Ojha, D. and Spooner, N. (2020) 'FRACTAL: Post-Quantum and TransparentRecursive Proofs from Holography'. [online] Available at: https://eprint.iacr.org/2019/1076.pdf (Accessed:3 May 2024).
Čapko, D.,Vukmirović, S. and Nedić, N. (2019) 'State of the Art of Zero-Knowledge Proofsin Blockchain', Faculty of Technical Sciences, University of Novi Sad, NoviSad, Serbia. Available at: dcapko@uns.ac.rs, srdjanvu@uns.ac.rs,nemanja.nedic@uns.ac.rs (Accessed: 30 June 2024).
Cramer, R.and Shoup, V. (1998) 'A practical public-key encryption scheme secure againstadaptive chosen ciphertext attack', in Advances in Cryptology – CRYPTO’98,pp. 13-25. Springer.
Cramer, R.and Shoup, V. (2002) 'Universal hash proofs and a paradigm for adaptive chosenciphertext secure public-key encryption', in Advances in Cryptology –EUROCRYPT 2002, pp. 45-64. Springer.
Canetti,R., Goldreich, O. and Halevi, S. (2003) 'On the random-oracle methodology asapplied to length-restricted signature schemes'. [online] Cryptology ePrintArchive. Available at: https://eprint.iacr.org/2003/150 (Accessed:28 Jun. 2024).
Devlin,B.S. (n.d.) 'Fpga snark prover targeting the bn128 curve'. Available at: https://github.com/bsdevlin/fpga_snark_prover (Accessed:30 June 2024).
Damgård,I., Fazio, N. and Nicolosi, A. (2006) 'Non-Interactive Zero-Knowledge fromHomomorphic Encryption', in Theory of Cryptography Conference (TCC 2006),Lecture Notes in Computer Science, vol. 3876, pp. 41-59. Available at: https://iacr.org/archive/tcc2006/38760041/38760041.pdf (Accessed:28 Jun. 2024).
EthereumResearch (2019) 'SLONK—a simple universal SNARK'. [online] Available at: https://ethresear.ch/t/slonk-a-simple-universal-snark/6420 (Accessed:28 Jun. 2024).
FilecoinProject (n.d.) 'bellperson: Gpu parallel acceleration for zk-snark'. Availableat: https://github.com/filecoin-project/bellperson (Accessed:30 June 2024).
Fiat, A.and Shamir, A. (1986) 'How To Prove Yourself: Practical Solutions toIdentification and Signature Problems', in Advances in Cryptology — CRYPTO’86, pp. 186–194. DOI: https://doi.org/10.1007/3-540-47721-7_12.
Feige, U.,Fiat, A. and Shamir, A. (1986) 'Zero-Knowledge Proofs of Identity', in Proceedingsof the 19th Annual ACM Symposium on Theory of Computing (STOC 1986), pp.210-217. DOI: 10.1145/12130.12146.
Ganguly, P.(2023) Zero-Knowledge Proofs Origination and Early Twenty-First Century UseCases. Master of Science (Computer Science) thesis, New York University,Tandon School of Engineering. UMI Dissertation Publishing, ProQuest CSA, 789 E.Eisenhower Parkway, P.O. Box 1346, Ann Arbor, MI 48106-134.
Goldreich,O. (2004) 'Zero-Knowledge Twenty Years After Its Invention', ElectronicColloquium on Computational Complexity (ECCC), Report No. 63. Available at:https://eccc.weizmann.ac.il/report/2004/063/ (Accessed:30 June 2024).
Goldwasser,S., Micali, S. and Rackoff, C. (1985) 'The knowledge complexity of interactiveproof-systems', Proceedings of the seventeenth annual ACM symposium onTheory of computing - STOC ’85. DOI: https://doi.org/10.1145/22145.22178.
Groth, J.and Sahai, A. (2005) 'Perfect Non-Interactive Zero Knowledge for NP'. [online]Available at: https://eprint.iacr.org/2005/290.pdf (Accessed:27 June 2024).
Groth, J.(2006) 'Simulation-sound NIZK proofs for a practical language and constant sizegroup signatures', ASIACRYPT 2006: Advances in Cryptology, Lecture Notesin Computer Science, vol. 4284, pp. 444-459. Available at: https://link.springer.com/chapter/10.1007/11935230_29 (Accessed:30 June 2024).
Groth, J.,Ostrovsky, R. and Sahai, A. (2006) 'Fully concurrent non-malleablezero-knowledge', EUROCRYPT 2006: Advances in Cryptology, Lecture Notesin Computer Science, vol. 4004, pp. 214-235. Available at: https://link.springer.com/chapter/10.1007/11761679_14 (Accessed:30 June 2024).
Groth, J.and Sahai, A. (2007) 'Efficient non-interactive proof systems for bilineargroups', SIAM Journal on Computing, vol. 41, no. 5, pp. 1193-1232.Available at: https://epubs.siam.org/doi/10.1137/080725386 (Accessed:30 June 2024).
Groth, J.(2008) 'Sub-linear zero-knowledge arguments for linear algebra', CRYPTO2008: Advances in Cryptology, Lecture Notes in Computer Science, vol. 5157,pp. 192-206. Available at: https://link.springer.com/chapter/10.1007/978-3-540-85174-5_11 (Accessed:30 June 2024).
Groth, J.(2011) 'Minimizing Non-interactive Zero-Knowledge Proofs Using FullyHomomorphic Encryption', Journal of Cryptology, 24(4), pp. 591-623.
Groth, J.,Ostrovsky, R. and Sahai, A. (2012) 'New techniques for non-interactivezero-knowledge', Journal of the ACM, 59(3), pp. 1-35. Available at: https://dl.acm.org/doi/10.1145/2220357.2220361 (Accessed:30 June 2024).
Groth, J.(2016) 'On the Size of Pairing-based Non-interactive Arguments'. [online] DOI: https://doi.org/10.1007/978-3-662-49896-5.
Groth, J.,Kohlweiss, M. and Pintore, F. (2016) 'One-time simulation-sound QA-NIZKarguments and applications to ring signatures', ASIACRYPT 2016: Advances inCryptology, Lecture Notes in Computer Science, vol. 10031, pp. 102-132.Available at: https://link.springer.com/chapter/10.1007/978-3-662-53887-6_4 (Accessed:30 June 2024).
Groth, J.and Maller, M. (2017) 'Snarky signatures: Minimal signatures of knowledge fromsimulation-extractable SNARKs', CRYPTO 2017: Advances in Cryptology,Lecture Notes in Computer Science, vol. 10402, pp. 581-612. Available at: https://link.springer.com/chapter/10.1007/978-3-319-63715-0_20 (Accessed:30 June 2024).
Gabizon,A., Williamson, Z.J. and Ciobotaru, O. (2019) 'PLONK: Permutations overLagrange-bases for Oecumenical Noninteractive arguments of Knowledge', CryptologyePrint Archive. Available at: https://eprint.iacr.org/2019/953 (Accessed:30 June 2024).
Goldwasser,S., Kalai, Y. and Rothblum, G. (2008) 'Delegating Computation: InteractiveProofs for Muggles'. [online] Available at: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/2008-DelegatingComputation.pdf (Accessed:30 June 2024).
Henderson,F. (2007) 'Introduction to Virtual Machines', Proceedings of the LinuxSymposium. Available at: https://www.kernel.org/doc/ols/2007/ols2007v1-pages-1-10.pdf (Accessed:30 June 2024).
Ingonyama(2023) 'Hardware Review: GPUs, FPGAs and Zero Knowledge Proofs', Ingonyama.Published on: May 4, 2023. Available at: https://www.ingonyama.com/blog/hardware-review-gpus-fpgas-and-zero-knowledge-proofs (Accessed:30 June 2024).
Ishai, Y.and Paskin, A. (n.d.) 'Evaluating Branching Programs on Encrypted Data', Theoryof Cryptography, pp. 575–594. DOI: https://doi.org/10.1007/978-3-540-70936-7_31.
Kalai,Y.T., Raz, R. and Rothblum, R.D. (2014) 'How to delegate computations: Thepower of no-signaling proofs', Proceedings of the Annual ACM Symposium onTheory of Computing, New York, NY, USA, pp. 485-494.
Javeed, K.and Wang, X. (2017) 'Low latency flexible FPGA implementation of pointmultiplication on elliptic curves over GF(p)', International Journal ofCircuit Theory and Applications, 45(2), pp. 214-228. DOI: 10.1002/cta.2359.
Kilian, J.(1992) 'A note on efficient zero-knowledge proofs and arguments (extendedabstract)', Proceedings of the 24th Annual ACM Symposium on Theory ofComputing, pp. 723-732.
Konstantopoulos,G. (2022) 'Hardware Acceleration for Zero Knowledge Proofs', Paradigm.Available at: https://www.paradigm.xyz/2022/04/zk-hardware (Accessed:30 June 2024).
LitaFoundation (2023) 'Announcing Lita's Valida C Compiler & zkVM'. Availableat: https://www.lita.foundation (Accessed:30 June 2024).
Lavery, S.(2024) 'Compact and Secure Zero-Knowledge Proofs for Quantum-ResistantCryptography from Modular Lattice Innovations', Cryptology ePrint Archive.Available at: https://eprint.iacr.org/2024/652 (Accessed:30 June 2024).
Maller, M.,Bowe, S., Kohlweiss, M. and Meiklejohn, S. (2019) 'Sonic: Zero-Knowledge SNARKsfrom Linear-Size Universal and Updateable Structured Reference Strings', CryptologyePrint Archive. Available at: https://eprint.iacr.org/2019/099 (Accessed:28 June 2024).
Matter Labs(2020) 'Introducing zkSync: The missing link to the mass adoption of Ethereum',Matter Labs Blog. Available at: https://blog.matter-labs.io/introducing-zksync-the-missing-link-to-the-mass-adoption-of-ethereum (Accessed:30 June 2024).
=nil;Foundation (2023) 'zkSharding for Ethereum'. Available at: https://nil.foundation/zksharding (Accessed:30 June 2024).
Partala,J., Nguyen, T.H. and Pirttikangas, S. (2020) 'Non-Interactive Zero-Knowledgefor Blockchain: A Survey', IEEE Access. Received November 27, 2020,accepted December 13, 2020, published December 21, 2020, current versionDecember 31, 2020. DOI: 10.1109/ACCESS.2020.3046025.
Parno, B.,Howell, J., Gentry, C. and Raykova, M. (2013) 'Pinocchio: Nearly practicalverifiable computation', Security and Privacy – S&P 2013, pp.238-252. IEEE.
PolygonLabs (2021) 'Deep Dive on Polygon Hermez: Bringing Scalability to EthereumUsing zk-Technology'. Available at: https://polygon.technology/blog/polygon-unveils-miden (Accessed:30 June 2024).
PolygonTechnology (2021) 'Polygon Miden: A STARK-Based zk-Rollup'. PolygonCommunity Forum. Available at: https://forum.polygon.technology/t/polygon-miden-deep-dive-a-stark-based-zk-rollup/299 (Accessed:30 June 2024).
Roy, S.S.,Turan, F., Jarvinen, K., Vercauteren, F. and Verbauwhede, I. (2019) 'FPGA-basedhigh-performance parallel architecture for homomorphic computing on encrypteddata', 2019 IEEE International Symposium on High Performance ComputerArchitecture (HPCA), pp. 387-398. DOI: 10.1109/HPCA.2019.00051.
RISC Zero(2021) 'zkVM Overview', RISC Zero Developer Docs. Available at: https://dev.risczero.com/api/zkvm (Accessed:30 June 2024).
Setty, S.(2019) 'Spartan: Efficient and general-purpose zkSNARKs without trusted setup',Cryptology ePrint Archive. Available at: https://eprint.iacr.org/2019/550 (Accessed:30 June 2024).
Sun, X.,Yu, F.R., Zhang, P., Sun, Z., Xie, W. and Peng, X. (2021) 'A Survey onZero-Knowledge Proof in Blockchain', IEEE Network, 35(4), pp. 198-205.DOI: 10.1109/ACCESS.2020.3046025.
StarkWareIndustries (2018) 'StarkEx Documentation'. Available at: https://docs.starkware.co/starkex/index.html (Accessed:30 June 2024).
StarkWareIndustries (2018) 'About Us'. Available at: https://starkware.co (Accessed:30 June 2024).
StarkWare(2018) 'Cairo Programming Language'. Available at: https://www.cairo-lang.org (Accessed:30 June 2024).
StarkWare(2021) 'ZKThreads: A canonical ZK sharding framework for dApps'. Available at: https://starkware.co/zkthreads (Accessed:30 June 2024).
Unruh, D.(2015) 'Non-interactive zero-knowledge proofs in the quantum random oraclemodel', in Oswald, E. and Fischlin, M. (eds) Advances in Cryptology.Berlin, Germany: Springer, pp. 755-784.
Ventre, C.and Visconti, I. (2009) 'Co-sound Zero-Knowledge with Public Keys', LectureNotes in Computer Science, pp. 287–304. DOI: https://doi.org/10.1007/978-3-642-02384-2_18.
VirtualLabs (2021) 'ZK State Channel vs. State Channel'. Available at: https://docs.virtual.tech (Accessed:30 June 2024).
Way Network(2022) 'ZK Omnichain Interoperability Protocol'. Available at: https://way.network (Accessed:30 June 2024).
Wang, H.and Hoang, T. (2022) 'ezDPS: An Efficient and Zero-Knowledge Machine LearningInference Pipeline', arXiv.org. DOI: https://doi.org/10.48550/arXiv.2212.05428.
Wahby,R.S., Tzialla, I., shelat, a., Thaler, J. and Walfish, M. (2018)'Doubly-efficient zkSNARKs without trusted setup', Cryptology ePrint Archive.Available at: https://eprint.iacr.org/2017/1132.pdf (Accessed:28 June 2024).
Xie, T.,Zhang, J., Zhang, Y., Papamanthou, C. and Song, D. (2019) 'Libra: SuccinctZero-Knowledge Proofs with Optimal Prover Computation', Cryptology ePrintArchive. Available at: https://eprint.iacr.org/2019/317 (Accessed:28 June 2024).
Zhou, Y.,Wei, Z., Ma, S. and Tang, H. (2022) 'Overview of Zero-Knowledge Proof and ItsApplications in Blockchain', in Sun, Y., Cai, L., Wang, W., Song, X. and Lu, Z.(eds) Blockchain Technology and Application. CBCC 2022. Communications inComputer and Information Science, vol. 1736. Singapore: Springer. Availableat: https://doi.org/10.1007/978-981-19-8877-6_5 (Accessed:30 June 2024).
Zhang, B.,Lu, G., Qiu, P., Gui, X. and Shi, Y. (2023) 'Advancing Federated Learningthrough Verifiable Computations and Homomorphic Encryption', Entropy,25(11), p. 1550. Available at: https://doi.org/10.3390/e25111550(Submission received: 11 September 2023 / Revised: 1 November 2023 / Accepted:4 November 2023 / Published: 16 November 2023).
Zhang, Y.,Wang, S., Zhang, X., Dong, J., Mao, X., Long, F., Wang, C., Zhou, D., Gao, M.and Sun, G. (2021) 'PipeZK: Accelerating Zero-Knowledge Proof with a PipelinedArchitecture', IEEE Xplore. DOI: https://doi.org/10.1109/ISCA52012.2021.00040.
Zhang, J.,Fang, Z., Zhang, Y. and Song, D. (2020) 'Zero Knowledge Proofs for DecisionTree Predictions and Accuracy', Proceedings of the 2020 ACM SIGSACConference on Computer and Communications Security. DOI: https://doi.org/10.1145/3372297.3417278.
作者推特:@renkingeth
内容来源:PANews
財華網所刊載內容之知識產權為財華網及相關權利人專屬所有或持有。未經許可,禁止進行轉載、摘編、複製及建立鏡像等任何使用。
如有意願轉載,請發郵件至content@finet.com.hk,獲得書面確認及授權後,方可轉載。
下載財華財經APP,把握投資先機
https://www.finet.com.cn/app
更多精彩内容,請點擊:
財華網(https://www.finet.hk/)
財華智庫網(https://www.finet.com.cn)
現代電視FINTV(https://www.fintv.hk)