ArkStream Capital:零知識證明四十年科技發展里程碑

24-07-30 12:09
閱讀本文需 111 分鐘
总结 AI 總結
看總結 收起
原文標題:《ArkStream Capital:零知識證明四十年科技發展里程碑》
原文作者:Ren,ArkStream Capital


摘要


零知識證明(ZKP)在區塊鏈領域被廣泛視為是自分散式帳本技術以來最重要的科技創新之一,同時也是創投的重點領域。本文對零知識證明技術近四十年的歷史文獻和最新研究都做了系統性的綜述。


首先,介紹了零知識證明的基本概念和歷史背景。然後,重點分析了基於電路的零知識證明技術,包括 zkSNARK、Ben-Sasson、Pinocchio、Bulletproofs 和 Ligero 等模型的設計、應用和最佳化方法。在運算環境領域,本文介紹了 ZKVM 和 ZKEVM,探討了其如何提升交易處理能力、保護隱私和提高驗證效率。文章也介紹了零知識 Rollup(ZK Rollup)作為 Layer 2 擴充方案的工作機制和最佳化方法,以及硬體加速、混合解決方案和專用 ZK EVM 的最新進展。


最後,本文展望了ZKCoprocessor、ZKML、ZKThreads、ZK Sharding 和ZK StateChannels 等新興概念,並探討了它們在區塊鏈擴展性、互通性和隱私保護方面的潛力。


透過分析這些最新技術和發展趨勢,本文為理解和應用零知識證明技術提供了全面視角,展示了其在提升區塊鏈系統效率和安全性方面的巨大潛力,為未來的投資決策提供了重要參考。


前言


在如今,網路正進入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 相關的核心學術論文(依據相關性和引用次數進行排序);同時,我們也詳細分析了該領域內領先的項目的資料和白皮書(根據其融資規模進行排序) 。這些綜合性的資料蒐集和分析為本文的撰寫提供了堅實的基礎。


一、零知識證明基礎


1. 概述


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 年)。


2. 零知識證明範例


為更能理解零知識證明及其屬性,以下是驗證證明者是否擁有某些私密資訊的範例,該範例分為三個階段:設定、挑戰和回應。


第一步:設定(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)。


二、非交互零知識證明


1. 背景


零知識證明(ZKP)在傳統概念中通常是互動式和線上的協議形式;例如,Sigma 協議通常需要三到五輪互動才能完成認證(Fiat& Shamir,1986 )。然而,在諸如即時交易或投票等場景中,往往沒有機會進行多輪交互,特別是在區塊鏈技術應用中,線下驗證功能顯得尤為重要(Sun 等, 2021)。


2.NIZK 的提出


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 技術經歷了迅猛發展,湧現了多種方法將互動式零知識證明轉化為非互動式證明。這些方法在系統的建構或底層加密模型的假設上各有不同。


3.Fiat-Shamir 變換


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)。


4. Jens Groth 及其研究


Jens Groth 的後續研究極大地推動了零知識證明在密碼學和區塊鏈技術中的應用。 2005 年,他、Ostrovsky 和 三人一起共同提出了第一個適用於任何 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)。


5. 其他研究


在特定應用場景中,特定驗證者的非互動式零知識證明展現了其獨特的實用價值。例如,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)。


三、電路為基礎的零知識證明


1. 背景


在密碼學領域,尤其是在處理需要高度並行化和特定類型的計算任務(如大規模矩陣運算)時,傳統的圖靈機模型展現出一定的限制性。圖靈機模型需透過複雜的記憶體管理機制來模擬無限長的紙帶,且不適合直接表達平行運算和管線操作。相較之下,電路模型以其獨特的計算結構優勢,更適合於某些特定的密碼學處理任務 ( Chaidos, 2017)。本文將詳細探討基於電路的零知識證明系統(Zero-KnowledgeProof Systems Based on Circuit Models),這類系統特別強調使用電路(通常是算術電路或布林電路)來表達和驗證計算過程。


2. 電路模型的基本概念與特性


在電路為基礎的計算模型中,電路被定義為一種特殊的計算模型,它將任何計算過程轉換為一系列的閘和連線,這些閘執行特定的邏輯或算術操作。具體而言,電路模型主要分為兩大類:


算術電路:主要由加法和乘法閘組成,用於處理有限域上的元素。算術電路適用於執行複雜的數值運算,廣泛應用於加密演算法和數值分析。


邏輯電路:由與閘、或閘、非閘等基本邏輯閘構成,用於處理布林運算。邏輯電路適合執行簡單的判斷邏輯和二元計算,常用於實現各類控制系統和簡單的資料處理任務 ( Chaidos, 2017)。


3. 零知識證明中的電路設計與應用


在零知識證明系統中,電路設計的過程涉及將待證明的問題表達為一個電路,這個過程需要設計zk 電路需要大量的「逆向思維」:「如果一個計算的聲稱輸出是真實的,則輸出必須滿足一定的要求。>

問題表示:首先將待證明的問題如密碼學雜湊函數的計算過程,轉換為電路的形式。這包括將計算步驟分解為電路中的基本單元,如閘和連線。


電路最佳化:透過技術手段如閘合併和常數折疊,優化電路設計,減少所需的閘數和計算步驟,進而提高系統的運作效率和響應速度。


轉換為多項式表示:為適配零知識證明技術,將最佳化後的電路進一步轉換為多項式形式。每個電路元件和連接都對應於特定的多項式約束。


產生公用參考字串(CRS):在系統初始化階段,產生包含證明金鑰和驗證金鑰在內的公用參考字串,以供後續的證明產生和驗證過程使用。


證明產生與驗證:證明者根據其私有輸入和 CRS,在電路上執行計算,產生零知識證明。驗證者則可以根據公開的電路描述和 CRS,驗證證明的正確性,而無需了解證明者的私有資訊 ( Chaidos, 2017)。


零知識證明電路設計涉及將特定的計算過程轉化為電路表示,並透過建立多項式約束來確保計算結果的準確性,同時避免洩露任何額外的個人資訊。在電路設計中,關鍵任務是優化電路的結構並產生有效的多項式表示,這是為了提升證明產生與驗證的效率。透過這些步驟實施,零知識證明技術能夠在不洩露額外資訊的前提下,驗證計算的正確性,確保了隱私保護與資料安全性的雙重需求得到滿足 ( Chaidos, 2017)。


4. 潛在的缺陷與挑戰


弊端包括:


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)。


四、零知識證明模型


1. 背景


基於電路的零知識證明通用性較差,需要為特定問題開發新的模型和演算法,現有多種高階語言編譯器和低階電路組合工具去進行電路產生和設計演算法,相關計算的轉換可以透過手動電路建構工具或自動編譯器完成。手動轉換通常能產生更優化的電路,而自動轉換對開發者更方便。性能關鍵應用通常需要手動轉換工具(Chaidos, 2017 ;Partala, Nguyen & Pirttikangas, 2020 ;Sun 等, 2021)。


本文將討論其中最著名的幾種。總的來說,這些模型都是 zkSNARKs 技術的擴展或變體,每個都試圖在特定的應用需求(如證明大小、計算複雜性、設定需求等)中提供最佳化。


每種協定都有其特定的應用、優點和局限性,特別是在設定要求、證明大小、驗證速度和計算開銷方面。它們在各個領域得到應用,從加密貨幣隱私和安全投票系統到以零知識方式驗證的一般計算等(Čapko, Vukmirović & Nedić, 2019)。


2. 常見演算法模型


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) = 0 l。這裡,C(x, W) = 0 l 表示電路 C 的輸出為 0 l,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 可用於非常大的驗證電路。同時,它適用於應用中的中等大型電路。


3. 基於線性PCP 和離散對數問題的方案


Ishai 和Paskin( 2007)提出利用加法同態公鑰加密減少互動式線性PCP 的通訊複雜性。隨後 Groth 等人在 2006 年至 2008 年發表多篇研究提出了基於離散對數問題和雙線性配對的 NIZK 方案,實現了完美完備性、計算正確性和完美零知識。該方案將陳述表示為代數約束滿足問題,使用類似 Pedersen 承諾的加密承諾方案實現次線性證明長度和非交互性,而無需 Fiat-Shamir 啟發式。儘管需要較大的 CRS 和強加密假設“指數知識”,足夠長的 CRS 可實現常量證明長度。驗證和證明代價較高,建議採用「模擬可提取性」安全模型。此類型方案是基於線性 PCP 和 / 或離散對數問題,但皆不具備抗量子安全性(Groth, 2006, 2006, 2008; Groth & Sahai, 2007)。


6. Groth 16 模型:是一種高效率的非互動式零知識證明系統,由 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)。


4. 基於一般人證明的方案


「一般人證明」(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 轉換實現非互動性。它以其輕量級設計和有效處理大電路的能力而聞名。


5. 基於機率可檢驗證明(PCP)的零知識


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,使用遞歸組合提高效率和可擴展性。它利用對數證明大小和驗證時間,特別適用於複雜計算。


6. 以CPC(一般證明建構)為基礎的設定階段進行分類


第一代(G 1)- 每個電路需要單獨的受信任設定。 zkSNARK,Pinocchio 和 Groth 16


第二代(G 2)- 最初為所有電路設定一次。 PlonK,Sonic,Marlin,slonk 和 Libra


第三代(G 3)- 不需要受信任設定的證明系統。 Bulletproofs,STARKs,Spartan,Fractal,Supersonic,Ligero,Aurora 和 SuccinctAurora(Čapko, Vukmirović & Nedić, 2019 ;Partala, Nguyen & Pirttikangas, 2020)。


五、零知識虛擬機的概述與發展


1. 背景


前面介紹的部分更多的是零知識證明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)。


2. 現有的ZKVM 的分類


依照設計目標,主要分為三類:


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)。


3. 前端與後端範式


從程式設計視角,ZKP 系統一般可以劃分為前端frontend 和後端backend 兩個部分。 ZKP 系統的Frontend 部分的主要使用低階語言來表示高層次語言,例如可以將一個一般地計算問題使用較低級別的電路語言表示,如R 1 CS 電路約束構建計算等(例如circom 使用R 1 CS描述其前端電路)。 ZKP 系統的Backend 部分即密碼學證明系統,主要將frontend 建構低階的語言描述的電路,轉換為產生證明和驗證正確性等,例如常用的backend 系統協定有Groth 16 和Plonk 等(Arun, Setty& Thaler , 2024 ;Zhang et al., 2023)。


通常,電路將逐步「執行」計算程序的每一步(借助不受信任的「建議輸入」)。執行 CPU 的一步概念上涉及兩個任務:(1)識別該步驟應執行的基本指令,(2)執行指令並適當地更新 CPU 狀態。現有前端透過精心設計的門或約束實現這些任務。這既耗時又容易出錯,也導致電路比實際需要的大得多(Arun, Setty& Thaler, 2024 ;Zhang et al., 2023)。


4.ZKVM 範式的優缺點


優點:


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)。


六、零知識以太坊虛擬機的概述與發展


1. 背景


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


圖1  基於零知識的以太坊系統改進解決方案


2. ZKEVM 的工作原理


節點程式處理:節點程式處理與驗證執行日誌、區塊頭、交易、合約字節碼、梅克爾證明等,並將這些數據發送給zkEVM 處理。


產生ZK 證明:zkEVM 使用電路產生執行結果的ZK 證明(狀態和執行正確性證明),這些電路功能主要使用table 和特製circuit 來實現。


聚合證明:使用聚合電路將大的證明產生較小的證明,如使用遞歸證明。


送到 L1 合約:聚合證明以交易形式發送給 L1 合約執行(Čapko, Vukmirović & Nedić, 2019)。


3. ZKEVM 的實作流程


取得資料:從以太坊區塊鏈系統取得數據,包括交易、區塊頭、合約等。


處理資料:處理和驗證執行日誌、區塊頭、交易、合約字節碼、默克爾證明等。


產生證明:使用電路產生 ZK 證明,確保每條指令的狀態更新和執行正確性。


遞歸證明:將產生的大證明壓縮為較小的聚合證明。


提交證明:將聚合證明提交給 L1 合約,以完成交易驗證(Čapko, Vukmirović & Nedić, 2019)。


4. ZKEVM 的特性


提升交易處理能力:透過L2 上的ZKEVM 執行交易,減少L1 的負載。


隱私權保護:在驗證智慧合約執行的同時保護交易隱私。


高效驗證:使用零知識證明技術,實現高效的狀態和執行正確性驗證(Čapko, Vukmirović & Nedić, 2019)。


七、零知識二層網路方案概述與發展


1. 背景


以太坊區塊鏈是目前最廣泛採用的區塊鏈生態系統之一。然而,以太坊面臨嚴重的擴展性問題,導致使用成本高。零知識二層網路方案(ZK Rollup)基於零知識證明(ZKP),是一種針對以太坊擴容的二層網路(Layer 2)解決方案,克服了OptimisticRollups 交易最終確認時間過長的缺陷( Ganguly, 2023)。


2.ZK Rollup 的工作機制


ZK Rollup 允許在一筆交易內實現可擴展性。 L1 上的智能合約負責處理並驗證所有轉賬,理想情況下只產生一筆交易。這是透過在鏈下執行交易來減少以太坊上的計算資源使用,並將最終的簽章交易重新放回鏈上進行。這一步驟被稱為有效性證明(ValidityProof)。在某些情況下,可能無法在單一證明內完成驗證,需要額外的交易將 rollup 上的資料發佈到以太坊主鏈上,以確保資料的可用性 ( Ganguly, 2023)。


在空間方面,使用 ZK Rollup 由於不需要像普通智能合約那樣儲存數據,因此提高了效率。每筆交易僅需要驗證證明,這進一步確認了資料的最小化,使得它們更便宜且更快 ( Ganguly, 2023)。


儘管ZK Rollup 名稱中包含「ZK」(零知識)的術語,但它們主要利用零知識證明的簡潔性來提高區塊鏈交易的處理效率,而不是主要關注隱私保護( Ganguly, 2023)。


3. ZKRollup 的缺點與最佳化


ZK Rollup(零知識總和)作為以太坊擴展性的Layer 2 解決方案,雖然在提高交易處理效率方面表現優異,但其主要問題在於計算成本非常高。然而,透過一些最佳化方案,可以顯著提高ZK Rollup 的性能和可行性((Čapko, Vukmirović & Nedić, 2019)。


1. 最佳化密碼演算法的計算


最佳化密碼演算法的計算過程可以提高ZK Rollup 的效率,減少計算時間和資源消耗。提出,是一種去中心化的ZK Rollup 解決方案。

Plonk 和FRI:提供快速證明且無需信任設定。 p>


低驗證成本:透過64 位元遞歸FRI 與Plonk 結合,實現高效證明。 . 混合Optimistic 和ZK Rollup


例如,PolygonNightfall 是一種混合Rollup,結合了Optimistic 和ZK Rollup 的特點,旨在增加交易隱私並減少轉帳費用(最多可減少86% )。 EVM 是為提高ZK Rollup 演算法而設計的,可以優化零知識證明過程。


AppliedZKP:由以太坊基金會資助的開源項目,實現了以太坊EVM 原生操作碼的ZK,使用了halo 2、KZG 和Barreto-Naehrig(BN-254 )橢圓曲線配對等密碼演算法。


zkSync:由Matter Labs 開發的zkEVM,是一個自訂EVM,實作了將合約程式碼編譯成YUL(Solidity 編譯器的中間語言),然後再編譯成支援的自訂字節碼,使用Plonk 的擴充版ultraPlonk。


Polygon Hermez:自訂EVM 相容的去中心化Rollup,將合約程式碼編譯成支援的微指令集,使用Plonk、KZG 和Groth 16 證明系統。


Sin 7 Y zkEVM:實作了 EVM 原生操作碼的 ZK,並最佳化了專用操作碼,使用 halo 2、KZG 和 RecursivePlonk。


Polygon Miden:基於 STARK 的通用零知識虛擬機器。


4. 硬體最佳化


硬體最佳化可以顯著提升 ZK Rollup 的效能。以下是幾種硬體優化方案:


DIZK(DIstributedZero Knowledge):透過在計算集群上分佈執行 zkSNARK 證明來進行最佳化。硬體架構包括兩個子系統,一個用於多項式計算(POLY),具有大尺寸數論變換(NTTs),另一個用於執行橢圓曲線(ECs)上的多標量乘法(MSM)。 PipeMSM 是用於在 FPGA 上實現的管線設計 MSM 演算法。


基於FPGA 的ZKP 硬體加速器設計:包含多個FFT(快速傅立葉變換)單元和FFT 操作的分解,多個MAC(乘加電路)單元,以及多個ECP(橢圓曲線處理)單元,以減少計算開銷。基於 FPGA 的 zk-SNARK 設計減少了證明時間約 10 倍。


Bulletproof 協定的硬體加速:透過 CPU-GPU 協作框架和 GPU 上的平行 Bulletproofs 實現(Čapko, Vukmirović & Nedić, 2019)。


八、零知識證明的未來發展方向


1. 加速運算環境的發展


零知識證明協議(如ZKSNARKs 和ZKSTARKs)在執行過程中通常涉及大量複雜的數學運算,這些運算需要在極短的時間內完成,對計算資源(如CPU 和GPU)提出了極高的要求,導致計算複雜度高、計算時間長。此外,產生和驗證零知識證明需要頻繁存取大容量數據,對記憶體頻寬提出了高要求。現代電腦系統的記憶體頻寬有限,無法有效率地支援如此高頻的資料存取需求,導致效能瓶頸。最終,高運算負載導致高能耗,尤其是在區塊鏈和去中心化應用中,需要持續進行大量證明計算時。因此,儘管軟體最佳化方案可以部分緩解這些問題,但由於通用運算硬體的物理限制,難以達到硬體加速的高效率和低能耗水平。混合解決方案在保持靈活性的同時,可以實現較高的效能提升 (Zhang etal., 2021)。


ZK-ASIC(專用積體電路)


2020 年間多個專案出現,旨在透過硬體如GPU 或FPGA 加速最佳化零知識證明(ZKP)的產生和驗證過程,提高效率 (Filecoin, 2024; Coda, 2024;Gpu groth 16 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)。


2. ZKML 的提出與發展


ZKML 的概念


零知識機器學習(Zero-KnowledgeMachine Learning, ZKML)是將零知識證明(ZKP)技術應用於機器學習中的新興領域。 ZKML 的核心思想是允許在不洩露資料或模型細節的情況下驗證機器學習計算結果。這不僅可以保護資料隱私,還能確保計算結果的可信度和正確性 ( Zhang etal., 2020 )。


ZKML 的發展


2020 年,張學者等人在2020 年的CCS 會議上首次系統地提出了ZKML 的概念,展示瞭如何在不洩露資料或模型細節的情況下進行決策樹預測的零知識證明。這為 ZKML 奠定了理論基礎。


2022 年,Wang 和Hoang 進一步研究並實現了ZKML,並提出了一種高效的零知識機器學習推理管道,展示瞭如何在現實應用中實作ZKML。研究表明,儘管 ZKP 技術複雜,但透過合理的優化,可以在確保資料隱私和計算正確性的同時,達到可接受的計算效能。


3.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,利用零知識技術產生證明,確保跨不同分片的交易在提交到主鏈之前是有效的。這種方法不僅提升了交易速度,也減少了鏈上資料的片段化問題,確保了經濟安全性和流動性。


4. ZKP 互通性的發展


ZK State Channels


2021 年,ZK StateChannels 的概念由Virtual Labs 提出,結合了零知識證明(ZKP)和狀態通道技術,旨在透過狀態通道實現高效的鏈外交易,同時利用零知識證明來確保交易的隱私和安全。


ZK State Channels 替代的原方案


1. 傳統狀態通道(StateChannels) :


原有方案:傳統狀態通道允許兩個使用者透過鎖定資金在智能合約中進行點對點(P2P)交易。由於資金已被鎖定,用戶之間的簽名交換可以直接進行,不涉及任何 gas 費用和延遲。然而,這種方法需要預先定義的位址,且通道的開閉需要鏈上操作,限制了其靈活性。


替代方案:ZK StateChannels 提供了無限參與者的支持,允許動態進入和退出,不需要預先定義使用者位址。此外,透過零知識證明,ZK StateChannels 提供了即時的跨鏈存取和自我驗證的證明,解決了傳統狀態通道的靈活性和擴展性問題。


2. 多鏈支援:


原有方案:傳統狀態通道通常只支援單一鏈上的交易,無法實現跨鏈操作,限制了使用者的操作範圍。


替代方案:ZK StateChannels 透過零知識證明技術,實現了跨鏈的即時交易和資產流動,無需中間橋接,大大提升了多鏈互操作性。


3. 預設位址限制:


原有方案:在傳統狀態通道中,交易參與者的地址必須在通道創建時預先定義,如果有新的參與者加入或離開,通道必須關閉並重新打開,這增加了操作複雜性和成本。


替代方案:ZK StateChannels 允許動態加入和退出,新的參與者可以隨時加入現有通道,而不影響當前用戶的操作,大大提高了系統的靈活性和使用者體驗。


4.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', Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, pp.2087-2104.DOI: https://doi.org/10.1145/3133956.DOI: https://doi.org/10.1145/3133956.3134block>
· 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 proof systems: The hardness of quantum rewinding', in Proceedings of the IEEE 55th Annual Symposium on Foundations of Computer Science (FOCS 2014), 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 via Looks' , 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 Benching Suite for ZKPmarking Suite for ZKiting Suite for ZK Frameworks'.Masters thesis, OST Ostschweizer Fachhochschule.
· Burger, E.(2022) 'Decentralized Speed: Advances in Zero Knowledge Proofs', a16z. //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 its applications', Proceedings of the Twentieth Annual ACM Symposium on Theory of 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 ) 'Efficient zero-knowledge arguments for arithmetic circuits in the discrete log setting', EUROCRYPT 2016: Advances in Cryptology, Lecture Notes in Computer Science, vol. 9666, pp.327-357.Available) atpringer. .com/chapter/10.1007/978-3-662-49896-5_12 (Accessed: 30 June 2024).
· Bayer, S. and Groth, J.(20
· Bayer, S. and Groth, J.(20
· Bayer, S. and Groth, J.(201212 ) 'Efficient zero-knowledge argument for correctness of a shuffle', EUROCRYPT 2012: Advances in Cryptology, Lecture Notes in Computer 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 Collision Resistance 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', Cryptology ePrint 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', Cryptology ePrint 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 (extended version)', 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 Proceedings of the 2014 IEEE Symposium on Security and Privacy.
· Ben-Sasson, E., Bentov, I., Horesh, Y. and Riabzev, M. (2018) 'Scalable, Transparent, and Post-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 of Philosophy Dissertation.University College London, Security & Crime Science.
· Chawla, V.(2021) ' Polygon Unveils ZK-Rollup Solution Miden to Scale Ethereum', Crypto Briefing.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 ] Available at: https://eprint.iacr.org/2019/1047.pdf (Accessed: 30 June 2024).
· Coda Protocol (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 Transparent Recursive 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 Proofs in Blockchain ', Faculty of Technical Sciences, University of Novi Sad, Novi Sad, 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 against adaptive chosen ciphertext attack', in Advances in Cryology ins incopts in Cryologys in Crypts in Cryologys ins inpts in Cryins) – CRYPTO’98, pp.13-25.Springer.
· Cramer, R. and Shoup, V.(2002) 'Universal hash proofs and a paradigm for adaptive chochosen for adaptive chogmsen ciphertext secure public-key encryption', in Advances in Cryptology – EUROCRYPT 2002, pp.45-64.Springer.
· Canetti, R., Goldreviich, O. and Halevi , S.(2003) 'On the random-oracle methodology as applied to length-restricted signature schemes'. [online] Cryptology ePrint Archive.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/sndevlin/fpver_ark_ark_ark_ark_ark/bs (Accessed: 30 June 2024).
· Damgård, I., Fazio, N. and Nicolosi, A.(2006) 'Non-Interactive Zero-Knowledge from Homomorphic 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. : 28 Jun.2024).
· Ethereum Research (2019) 'SLONK—a simple universal SNARK'. [online] Available at: https://ethresear.ch/ t/slonk-a-simple-universal-snark/6420 (Accessed: 28 Jun.2024).
· Filecoin Project (n.d.) 'bellperson: Gpu parallel acceleration for zk -snark'.Available at: https://github.com/filecoin-project/bellperson (Accessed: 30 June 2024).
· Fiat, A. and Shamir, A.(1986) 'How To Prove Yourself: Practical Solutions to Identification 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 Proceedings of the 19th Annual ACM Symposium on Theory of Computing (STOC 1986), pp.210-217.DOI: 10.1145/12130.12146.
· Gand3, P3,013) Proofs Origination and Early Twenty-First Century Use Cases.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, MIway, P.O. 48106-134.
· Goldreich, O.(2004) 'Zero-Knowledge Twenty Years After Its Invention', Electronic Colloquium on Computational Complexity (ECCC), Report No. .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 interactive proof-systems', Proceedings of the seventeenth annual ACM symposium on Theory of computing - STOC ’85.DOI: https://doi.org/10.11445 /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 aZK proofs for aZK proofs for aZK proofs for aZK proofs for aZK proofs for aZK proofs for aZK proofs for a practical language and constant size group signatures', ASIACRYPT 2006: Advances in Cryptology, Lecture Notes in Computer Science, vol. 4284, pp.444-459.Available at: https://link.springer.com/chapter/10. (Accessed: 30 June 2024).
· Groth, J., Ostrovsky, R. and Sahai, A.(2006) 'Fully concurrent non-malleable zero-knowledge' , EUROCRYPT 2006: Advances in Cryptology, Lecture Notes in Computer Science, vol. 4004, pp.214-235.Available at: https://link.springer.com/chapter/10.1007/11761679_14 (Access.
· Groth, J. and Sahai, A.(2007) 'Efficient non-interactive proof systems for bilinear groups', 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', CRYPTO 2008: 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.(20111) ' Non-interactive Zero-Knowledge Proofs Using Fully Homomorphic Encryption', Journal of Cryptology, 24(4), pp.591-623.
· Groth, J., Ostrov,sky J. R. and Sahai, A.(2012) 'New techniques for non-interactive zero-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-d. [線上] DOI: https://doi.org/10.1007/978-3-662-49896-5.
·Groth, J., Kohlweiss, M. and Pintore, F.(2016) 'One-time simulation-sound QA-NIZK arguments and applications to ring signatures', ASIACRYPT 2016: Advances in Cryptology, Lecture Notes in Computer Science, vol. 10031, pp.12-132.02-ilable 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 from simulation-extractable SNARKs', CRYPTO 2017: Advances in Cryptology, Lecture Notes in Computer Science, vol. 10402, pp.581, Lecture Notes in Computer Science, vol. 10402, pp.581 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 over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge', Cryptology ePrint Archive.Available at: https://eprint.iacr.org/2019/953 : 30 June 2024).
· Goldwasser, S., Kalai, Y. and Rothblum, G.(2008) 'Delegating Computation: Interactive Proofs 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 Linux Symposium.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 onyama.Published onyama. : 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', Theory of 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 Thegate powercom of no-signaling proofs', Proceedings of the Annual ACM Symposium on Theory of Computing, New York, NY, USA, pp.485-494.
· Javeed, K. and Wang, X.(2017) 'Low latency flexible FPGA implementation of point multiplication on elliptic curves over GF(p)', International Journal of Circuit Theory and Applications, 45(2), pp.214-228.DOI: 10.1002/0.1002/0.1002 cta.2359.
· Kilian, J.(1992) 'A note on efficient zero-knowledge proofs and arguments (extended abstract)', Proceedings ofual the 24th Ann ACM Symium on Theory of Computing, pp.723-732.
· Konstantopoulos, G.(2022) 'Hardware Acceleration for Zero Knowledge Proofs', Paradigm.Available at https:/eleration for Zero Knowledge Proofs', Paradigm.Available at https:/ /www.paradigm.xyz/2022/04/zk-hardware (Accessed: 30 June 2024).
· Lita Foundation (2023) 'Announcing Lita's Valida CVMiler & zk '.Available at: https://www.lita.foundation (Accessed: 30 June 2024).
· Lavery, S.(2024) 'Compact and Secure Zero- Knowledge Proofs for Quantum-Resistant Cryptography 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 SNARKs from Linear-Size Universal and Updateable Structured Reference Strings', Cryptology ePrint Archive.Available at: https://eprint.iacr.org/2019/0999 (Accessed: 28 June 2024).
· Matter Labs (2020) 'Introducing zkSync: The missing link to the mass adoption of Ethereum',Matterva Labs.Alog.A 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-Knowledge for Blockchain: A Survey', IEEE Access.Received November 27, 2020, accepted December 13, published December 21, 2020, current version December 31, 2020.DOI: 10.1109/ACCESS.2020.3046025.
· Parno, B., Howell, J. Raykova, M.(2013) 'Pinocchio: Nearly practical verifiable computation', Security and Privacy – S&P 2013, pp.238-252.IEEE.
Polybs Labs Labs ) 'Deep Dive on Polygon Hermez: Bringing Scalability to Ethereum Using zk-Technology'.Available at: https://polygon.technology/blog/polygon-unveils-miden (Accessed: 30 June 2024).
· Polygon Technology (2021) 'Polygon Miden: A STARK-Based zk-Rollup'.Polygon Community 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-based high-performance parallel architecture for homomorphic computing on encrypted data', 2019 IEEE International Symposium on High Performance Computer DOI: 10.1109/HPCA.2019.00051.
· RISC Zero (2021) 'zkVM Overview', RISC Zero Developer Docs.Available at https://dev. /api/zkvm (Accessed: 30 June 2024).
· Setty, S.(2019) 'Spartan: Efficient and general-purpose zkSNARKs without trusted setup',Cryptology e',Crypt) 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 on Zero-Knowledge Proof in Blockchain', IEEE Network, 35(4), pp.198-205.DOI: 10.1109/ACCESS.2020.3046025.
· StarkWare Industries (2018) 'StarkEx Documentation'.Available at: https://docs.starkware.co/stark/index. Accessed: 30 June 2024).
· StarkWare Industries (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 oracle model', 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', Lecture Notes in Computer Science, pp.287–304.DOI: https://doi.org/10.1007/978-3-642-02384-2_18.
· Virtual Labs (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 Learning Inference 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 ePrintive. 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: Succinct Zero-Knowledge Proofs with Optimal Prover Computation', Cryptology ePrint Archive.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 Its Applications in Blockchain', in Sun, Y., Cai, L., Wang, W., Song, X. and Lu, Z. (eds) Blockchain Technology and Application.CBCC 2022.Communications in Computer and Information Science, vol.1736.Singapore: Springer.Available at: 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 Learning through 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. blockquote>
· 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 Pipelined Architecture', IEEE Xplore.DOI: https://doi.org/10.1109/ISCA52012.2021. https://doi.org/10.1109/ISCA52012.2021.00040.
· Zhang, J., Fang, Z., Zhang, Y. and Song, D.(2020) 'Zero Knowledge Proofs for Decision Tree Predictions and Accuracy', Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security.DOI: https://doi.org/10.1145/3372297.3417278.


原文連結


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
請先登錄 Farcaster 後發表評論
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交