作者: YBB Capital Researcher Zeke
前言
在《潛力賽道前瞻:去中心化算力市場(上)》中我們已經了解到,AI預期下,算力所具備的重要性,也深入探討了構建去中心化AGI算力市場在目前階段存在的兩種困境。而本文將從零知識證明的基礎概念開始,由淺入深,對去中心化算力市場這條朝陽賽道的更多可能性進行多維度思考。 (上篇也提到了比特幣算力市場的部分,但鑑於近期比特幣生態迎來了爆發式的成長,該部分將在未來我們的比特幣生態相關文章中結合描述。)
零知識證明概述
1980年代中期,麻省理工學院的三位密碼學者(Shafi Goldwasser、Silvio Micali和Charles Rackoff)共同發表了一篇名為《互動性證明系統的知識複雜性》的論文。文中描述了一種可以在不闡明資訊的情況下驗證資訊真實性的創新密碼學技術,作者將其稱為“零知識證明”,並為此概念提供了具體的定義和框架。
而在隨後的幾十年裡以此論文為基石的零知識證明技術在多個領域逐漸發展和完善,現如今零知識證明已成為已經成為一個包羅萬象的術語,代表了許多“現代”或“先進」密碼學——尤其是與區塊鏈未來相關的密碼學。
定義
零知識證明(Zero-Knowledge Proof,簡稱ZKP,下文依據情況使用)是指證明者(Prover)可以向驗證者(Verifier)證明某個陳述的正確性,而無需提供任何有關陳述本身的具體資訊。這種方法的三大基本屬性包括完整性、可靠性和零知識性。完整性保證了真實陳述的可證明性,可靠性確保了錯誤陳述不可被證明,而零知識性則意味著驗證者無法獲得除陳述真實性以外的任何資訊。
零知識證明的類型
根據證明者和驗證者之間的溝通方式,也會產生兩種不同類型的零知識證明,互動式與非互動式。在互動式中,證明者和驗證者之間會進行一系列的互動。這些交互是證明過程的一部分,證明者透過回應驗證者的一系列查詢或挑戰來證明其陳述的真實性。這個過程通常涉及多輪通信,每輪通信中驗證者提出一個問題或挑戰,而證明者則回應以證明其陳述的正確性。非互動式則不需要多輪互動。在這種情況下,證明者創建一個單一的、可以獨立驗證的證明,然後發送給驗證者。驗證者無需與證明者進行進一步交流,就可以獨立驗證這個證明的真實性。
互動式與非互動式的通俗解說
1.互動式:阿里巴巴與四十大盜的故事,是解釋互動式零知識證明中時常提到的典例,也有非常多的版本,而下文中的故事是由我改編的一個簡版。
阿里巴巴知道打開藏著財寶的山洞的咒語,卻被四十大盜抓住,強迫他說出咒語。如果阿里巴巴說出咒語,就會因為沒有利用價值而被殺死。如果阿里巴巴堅持不說,強盜不會相信他真的掌握咒語,也會殺死他。但阿里巴巴想了一個好辦法,現在洞穴有兩個入口A和B,都通往洞穴中心,但中心有一道密碼門,只有知道咒語的人才能從一邊走到另一邊。為了證明他知道打開洞穴的秘密,而又不透露這個秘密,阿里巴巴進入洞穴並選擇A或B中的一個入口,而四十大盜站在外面看不到他的選擇。然後四十大盜隨機喊出A或B,要求阿里巴巴從他們指定的入口出來。如果阿里巴巴真的知道咒語,他就可以使用密碼從中心的門通過,從指定的入口出來。這個過程重複多次,每次阿里巴巴都能成功地從四十大盜指定的入口出來,從而在不洩露秘密的情況下證明他確實知道密碼。
2.非互動式:這是一個生活中的非互動式零知識證明的簡單例子,想像一下,你和一個朋友都有一本「尋找沃利」的書。你聲稱知道沃利在某一頁上的位置,但你的朋友對此表示懷疑。如果你想向朋友證明你知道沃利在圖中的位置,而又不透露具體位置,可以使用一張足夠大的不透明紙覆蓋整個圖片,並通過紙上的一個小孔露出沃利(單一的、可以獨立驗證的證明),這樣你就能證明自己確實知道沃利的位置,但你的朋友仍然無法知道沃利在整個圖片中的確切座標。
區塊鏈中的技術實現
零知識證明目前在區塊鏈中有多種實現方式,其中最廣為人知的主要有zk-STARK(Zero-Knowledge Scalable Transparent Argument of Knowledge)和zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) ,正如它們名稱中的“Non-Interactive”(非互動式)所示,兩者都屬於非互動式零知識證明。
zk-SNARK屬於一類應用廣泛的通用零知識證明方案(此處需要注意,zk-SNARK屬於一種流派,並非一種單一技術),透過將任意的計算過程轉化為若干門電路的形式,並利用多項式的一系列數學性質將閘電路轉換為多項式,進而壓縮產生非常小的非互動式的證明,可實現各類複雜的業務場景的應用。 zk-SNARK的啟動需要可信任設置,可信任設定是指在受信任的設置中,多方各自產生一個部分金鑰來啟動網絡,然後銷毀該金鑰。如果用於建立信任設定的金鑰的保密資訊沒有被銷毀,那麼這些保密資訊可能會被利用透過虛假驗證來偽造交易。
而zk-STARK是zk-SNARK的技術演變,解決了SNARK依賴可信任設定的弱點,可以不依賴任何信任設定來完成區塊鏈驗證,從而降低啟動網路的複雜性並消除任何串通風險。但zk-STARK也有產生證明較大的問題,儲存、鏈上驗證及產生時間都處於劣勢。如果你體驗過StarkNet(採用zk-STARK的Layer2)的早期版本,應該很明顯能感覺到速度與Gas費,對比其它Layer2體驗都要差很多。所以目前被採用更多的還是zk-SNARK方案。而除此之外還有PLONK以及Bulletproofs等稍顯小眾的方案,每種方式在證明大小、證明者時間以及驗證時間上都有自己的優缺點。完全理想的零知識證明非常難達到,幾種主流的演算法通常在不同維度之間做平衡。
而ZK的開發,通常需要用到兩個關鍵組件。
ZK-friendly 表達計算的方法:這是一個特定領域語言(DSL)或底層庫。底層函式庫如Arkworks,則提供了必要的工具和原語,讓開發者直接用較低階的語言手動重寫程式碼。 DSL如Cairo或Circom,是為ZK應用量身訂製的程式語言。後者能編譯為產生證明所需的基元。更複雜的操作導致更長的證明產生時間,而某些操作(如SHA或Keccak中使用的位元運算)可能不適合ZK,導致長時間的證明產生。
證明系統:證明系統是ZK應用的核心,它實現了兩個基本功能:Prove(證明)和Verify(驗證)。 Prove功能允許產生一個證明(需要大量數學計算生成,證明越複雜則生成越慢),這個證明表明某個陳述是正確的,而無需透露證明細節。 Verify功能則用來驗證這個證明的正確性(證明越複雜、越大,則效能越高,驗證所需的時間越短)。不同的證明系統,如Groth16、GM17、PLONK、Spartan和STARK等,在效率、安全性和易用性上也有所不同。
ZKP的應用地圖
- ZKP跨鏈橋樑和互通性:ZKP可用於建立跨鏈訊息傳遞協定的有效性證明,這些訊息可以在目標鏈上快速驗證。這與在底層L1上驗證zkRollups的方式類似。然而,對於跨鏈訊息傳遞,複雜性更高,因為源鍊和目標鏈之間的簽名方案和需驗證的加密函數可能不同;
- ZKP鏈上遊戲引擎:Dark Forest展示了ZKP如何能夠實現資訊不完全的鏈上遊戲。這對於設計更具互動性的遊戲至關重要,其中玩家的行動保持私密,直到他們決定揭示它們。隨著鏈上遊戲的成熟,ZKP將成為遊戲執行引擎的一部分。對於成功整合隱私功能的高吞吐量鏈上遊戲引擎的新創公司來說,作用巨大;
- 身分解決方案:ZKP在身分領域可以開啟多個機會。它們可用於聲譽證明或連接Web2和Web3身分。目前,我們的Web2和Web3身分是分開的。例如Clique這樣的計畫透過使用預言機來連結這些身分。 ZKP可以透過使Web2和Web3身份匿名鏈接,使這種方法更進一步。這可以實現像匿名DAO會員資格這樣的用例,條件是他們可以使用Web2或Web3資料證明領域特定專業知識。另一個用例是基於借款人的Web2社交地位(例如Twitter追蹤者數量)的無抵押Web3貸款;
- ZKP用於監管合規:Web3使得匿名線上帳戶能夠積極參與金融系統。從這個意義上說,Web3實現了巨大的金融自由和包容性。隨著Web3監管的增加,ZKP可用於在不破壞匿名性的情況下實現合規。 ZKP可用於證明使用者不是受制裁國家的公民或居民。 ZKP也可以用來證明認可投資者身分或任何其他KYC/AML要求;
- 本土Web3私人債務融資:TradeFi債務融資通常用於支持成長中的新創公司加速其成長或開啟新的業務線,而無需增加額外的風險投資。 Web3 DAO和匿名公司的興起為Web3本土債務融資創造了機會。例如,使用ZKP、DAO或匿名公司可以基於其成長指標的證明,獲得無抵押貸款和競爭性利率,而無需向貸方披露借款人的信息;
- 隱私DeFi:金融機構經常保持其交易歷史和風險敞口的隱私。然而,在鏈上使用去中心化金融(DeFi)協議時,由於鏈上分析技術的不斷進步,滿足這一需求變得具有挑戰性。一個可能的解決方案是開發以隱私為重點的DeFi產品,以保護協議參與者的隱私。嘗試實現這一目標的協議之一是Penumbra的zkSwap。此外,Aztec的zk.money透過模糊用戶在透明DeFi協議中的參與,提供了一些私密DeFi賺錢機會。通常,能夠成功實施高效且注重隱私的DeFi產品的協議可以從機構參與者那裡獲得大量的交易量和收入;
- 針對Web3廣告的ZKP:Web3推動用戶擁有自己的資料權利,例如瀏覽歷史、私人錢包活動等。 Web3也使這些數據的貨幣化為用戶帶來好處。由於資料貨幣化可能與隱私相矛盾,ZKP在控制哪些個人資料可以向廣告商和資料聚合商揭露方面可以發揮重要作用;
- 私人資料的共享和貨幣化:我們的許多私人資料如果與正確的實體共享,可能會產生重大影響。個人健康數據可以被眾包,幫助研究人員開發新藥。私人財務記錄可以與監管機構和監察機構共享,以識別和懲罰腐敗行為。 ZKP可以實現這類數據的私密共享和貨幣化;
- 治理:隨著DAO(去中心化自治組織)和鏈上治理的普及,Web3正走向直接參與式民主。目前治理模式的一個主要缺陷是參與的非隱私性。 ZKP可以是解決這個問題的基礎。治理參與者可以在不透露他們的投票方式的情況下進行投票。此外,ZKP還可以使治理提案的可見性僅限於DAO成員,使DAO能夠建立競爭優勢。
- zkRollup:擴容是ZKP在區塊鏈最重要的用例,zkRollup 技術將多個交易聚合成單一的交易。這些交易在鏈下(即區塊鏈的主鏈之外)處理和計算。對這些聚合後的交易,zkRollup 利用ZKP來產生一個證明,這個證明可以證實這些交易的有效性,而無需透露交易的具體內容,還極大的壓縮了數據的大小。產生的ZKP隨後被提交到區塊鏈的主鏈上。主鏈上的節點只需要驗證這個證明的有效性,而不需要處理每個單獨的交易。這樣,就大大減輕了主鏈的負擔。
ZKP硬體加速
零知識證明協議雖然具備多種優勢,但目前的問題主要是驗證易,生成難。大部分證明系統產生的主要瓶頸是多標量乘法(MSM)或快速傅立葉變換(FFT)及其逆變換,兩者的組成及優劣主要如下。
多標量乘法(MSM):MSM是加密學中的關鍵計算,它涉及橢圓曲線加密中的點與標量的乘法。在ZKP中,MSM用於建構關於橢圓曲線上點的複雜數學關係。這些計算通常涉及大量的數據點和運算,用於產生和驗證證明的關鍵部分。 MSM在ZKP中尤其重要,因為它幫助建構出能夠驗證加密聲明而不暴露私有資訊的證明。 MSM可以在多個執行緒上執行,從而支援並行處理。然而,當處理大型元素向量時,例如5000萬個元素,乘法運算仍然會很慢,並且需要大量的記憶體資源。此外,MSM存在可擴展性方面的挑戰,即使在廣泛並行化的情況下也可能保持緩慢。
快速傅立葉變換(FFT):FFT是一種高效率計算多項式乘法和求解多項式插值問題的演算法。在ZKP中,它通常用於最佳化多項式的計算過程,這是產生證明的重要步驟。 FFT透過將複雜的多項式運算分解為更小、更簡單的部分來加速計算,這對於證明生成過程中的效率至關重要。 FFT的使用大大提高了ZKP系統處理複雜多項式和大規模資料集的能力。但FFT運算依賴頻繁的資料交換,這使得它難以透過分散式運算或硬體加速來顯著提高效率。 FFT運算中的資料交換需要大量的頻寬,尤其是在需要處理超過硬體記憶體容量的大資料集時。
雖然軟體最佳化也是很重要的研究方向,但目前加速證明生成的最直接粗暴的方式就是透過硬體堆疊出足夠高的算力來加速生成,那麼在諸多算力硬體裡(GPU、FPGA、ASIC),哪一個是最好的選擇?由於我們在上篇部分已經簡單介紹過GPU了,所以在這裡我們主要了解FPGA與ASIC的設計邏輯與優缺點。
ASIC:ASIC(Application-Specific Integrated Circuit)是一種專為滿足特定應用需求而設計的積體電路。與通用的處理器或標準積體電路相比,ASIC是為了執行特定任務或應用而客製化的,因此在其設計的應用中通常表現出更高的效率和效能。在我們熟知的比特幣挖礦領域中ASIC就是非常重要的算力硬件,高效能性能和低功耗特性使它們成為比特幣挖礦的理想選擇。不過ASIC也有明顯的兩個缺點,由於是為特定應用而設計的(例如比特幣的AISC礦機都是圍繞SHA-256哈希演算法設計的),沒有大批量採用的情況下,設計和製造成本會很高,設計和驗證週期也會比較長。
FPGA:FPGA是Field Programmable Gate Array(現場可程式閘陣列)的簡稱,是一種可重複程式設計元件,是在PAL(可程式邏輯陣列)、GAL(通用陣列邏輯)、CPLD(複雜可程式邏輯元件)等傳統邏輯電路和閘陣列的基礎上發展起來的一種半定制電路,和ASIC一樣都是用於電子設計和實現特定功能的集成電路,既解決了過去半定制電路的不足,又克服了原有可編程器件閘電路數有限的缺點。其重要的特點是「可重複編程、低功耗、低時延、算力強」。但FPGA的缺點在於其功能完全依賴硬體實現,無法執行像分支條件跳躍這樣的操作,只能進行定點運算。成本上,FPGA的成本在設計上比ASIC更低,製造上同樣需要參考規模,當然兩者的整體成本都要遠高於GPU。
那麼再回到ZKP硬體加速的探討,首先必須承認的是ZKP 仍處於早期發展階段。系統參數(例如FFT 寬度或元素的位元大小)或證明系統的選擇(僅上文中提到的證明系統就有五種)仍然很少有標準化。我們比較三種算力硬體在這種環境下的情況:
- ZK「元」的變化:我們上文已經提到了,ASIC 上的業務邏輯是一次寫入。如果任何ZKP 邏輯發生變化,都需要從頭開始。 FPGA 可以在1 秒內重新刷新任意次數,這意味著它們可以在具有不相容證明系統的多個鏈上重複使用相同的硬體(例如,跨鏈提取MEV),並靈活地適應ZK “元”的變化。而GPU雖然不如FPGA那樣在硬體層級上快速可重配置,但GPU在軟體層面上提供了極大的靈活性。 GPU可以透過軟體更新來適應不同的ZKP演算法和邏輯變化。即使這種更新可能不如FPGA那麼迅速,但仍然可以在相對短的時間內完成。
- 供應: ASIC 設計、製造和部署通常需要12 到18 個月或更長。相反,FPGA 供應鏈是相對健康的,Xilinx等領先供應商允許從網站(即沒有任何聯絡點)在16 週內到達的大量零售訂單。再來看GPU,在供應上GPU自然有巨大的優勢,自以太坊上海合併後,全網路存在大量閒置的GPU礦機。而後續Nvidia與AMD後續開發的顯示卡系列,也可以大量供應。
那麼從上述兩點來看,除非ZK賽道形成共識,標準化的採用一種方案,否則ASIC不具備任何優勢。以現在ZKP方案仍處於多元化的發展情況來看,GPU與FPGA會是我們接下來需要討論的兩種主要算力硬體。
- 開發週期:由於GPU的普及和成熟的開發工具,如CUDA(針對NVIDIA GPU)和OpenCL(跨平台)。而FPGA的開發通常涉及更為複雜的硬體描述語言(如VHDL或Verilog),需要更長的學習和開發時間;
- 功耗:FPGA在能源效率方面通常優於GPU。這主要是由於FPGA能夠針對特定任務進行最佳化,從而減少不必要的能源消耗。而GPU雖然在處理高度並行化的任務時性能強大,但這也伴隨著較高的功耗;
- 可自訂性:FPGA可以被編程來優化特定的ZKP演算法,提高效率。而對於特定的ZKP演算法,GPU的通用架構可能不如專用硬體高效;
- 生成速度:根據Trapdoor-Tech關於GPU(以Nvidia 3090為例)以及FPGA(Xilinx VU9P為例)的對比,在BLS12-381(一種特定類型的橢圓曲線)下,採用相同的模乘/模加算法,GPU的生成速度是FPGA的5倍。
綜上所述,短期內來看,考慮到開發週期、並行性、生成速度、成本以及全網大量隨時待命的閒置設備,GPU無疑是目前最具優勢的選擇。而目前的硬體優化方向也是以GPU為主,FPGA完全接管比賽的時間也還沒到來,那麼建構一個類似PoW挖礦的ZKP算力市場(我個人構想的詞)是否存在可能?
建構ZKP算力市場的思考
在建構ZKP算力市場的思考上,算力硬體方面我們已經從上文得出結論。而剩下的問題是以下三點,ZKP是否需要去中心化?市場規模上是否有吸引力?如果ZK系公鏈都選擇自己建構證明生成市場,那麼ZKP算力市場還有什麼意義?
去中心化的意義:首先當今大多數zkRollup專案(例如Starkware 和zKsync)都依賴中心化的伺服器,這是因為只對以太坊擴容進行了考慮。中心化意味著用戶資訊依然存在被審查的風險,一定程度上犧牲了區塊鏈最重要的無許可性質。而採用ZK的隱私協議則更不用多說,ZKP產生的去中心化是極為必要的。去中心化的第二點理由是成本,這點同上篇AGI部分類似,雲端服務以及購置硬體的成本都非常昂貴,證明產生通常只適用於大型專案。對於起步階段的小型專案來說,一個去中心化的證明市場可以大幅緩解他們啟動階段資金困難的問題,另一方面也減少了因為財力問題帶來的不當競爭。
市場規模:Paradigm在去年曾預測ZK 礦工/證明者市場在未來可能會成長到相當於過去PoW 採礦市場的規模。其根本原因是ZKP算力的買賣方,在ZKP算力市場中都是極為充足的。對於那些曾經的以太坊礦工來說,ZK系大量的公鏈項目和Layer2項目遠比ETH的分叉公鏈有吸引力。不過我們還要考慮一種情況,大部分ZK系公鍊或Layer2也完全有能力建構自己的證明生成市場,如果要符合去中心化敘事,這一步也是必然在路線圖中的(上文中的Starkware和zkSync,將來也有自己的去中心化方案),那麼ZKP算力市場是否還有建構的意義?
建構的意義:首先ZKP的應用及其廣泛(我們在上文也已經舉例多次,下文還會用一個項目做參考)。第二點是即便每條ZK鏈都有自己的證明生成市場存在,算力市場依舊還有三個作用,可以讓賣方考慮出售算力。
1.將算力分成兩部分,一部分用於挖礦,另一部分用於出售算力合約。這種方法可以幫助對沖加密貨幣市場的波動風險。當市場下跌時,出售的算力合約提供穩定收入;而市場上漲時,自己挖礦的部分能夠帶來額外的收益;
2.將所有算力出售,獲得固定收入,是更保守的做法。這樣可以減少市場波動對收入的影響,並保證收益的穩定性;
3.由於成本結構的差異(如電力成本),一些礦工可能會獲得比市場平均更低的營運成本。這些礦工可以利用他們的成本優勢透過出售算力合約以市場價格,並保留由於較低電力成本產生的差價,實現套利。
Proof Market
Proof Market是由=nil;(以太坊研發公司)建構的一個去中心化的ZKP算力市場(據我所知也是目前唯一一個圍繞ZKP生成構建的算力市場),本質上是一種不受信任的資料可存取性協議,使第1層和第2層區塊鏈和協議能夠在不依賴集中式中介的情況下根據無縫資料共享的需求產生零知識證明。雖然Proof Market並非是我想像中圍繞個人GPU構建的市場(Proof Market是圍繞專業硬體商構建的,ZKP的GPU挖礦還可以參考Scroll架構中的Roller Network或Aleo),但在ZKP算力市場如何建構與廣泛應用這個問題依然很有參考意義。 Proof Market的工作流程如下:
證明請求者(Proof requester):
- 請求證明的實體,可以是zkBridge、zkRollup、zkOracle或zkML這樣的應用。
- 如果電路不存在,需要準備(Preparation)階段,透過執行zkLLVM產生一個新的電路。
- 如果電路已經存在,則建立一個對於預先定義電路的zkProof請求。
zkLLVM:
- 這個元件負責產生電路(Circuit),也就是編碼計算任務的程式。
- 在準備階段,zkLLVM會對計算執行預處理以產生電路,並提交至Proof Market。
Proof Market:
- 是一個中央市場,配對證明請求者的訂單與證明產生者。
- 驗證證明的有效性,並在證明被驗證後提供獎勵。
證明生成者(Proof generator):
- 執行計算,產生所需的零知識證明。
- 接收來自Proof Market的訂單,並回傳產生的證明。
獎勵機制:
- 電路開發者獎勵:每當有證明請求者使用電路產生證明時,電路的作者會得到獎勵。
- 證明產生者獎勵:一旦證明在Proof Market被驗證,產生者根據訂單條款接收獎勵。
整個流程中,證明的請求、產生、驗證和獎勵發放都圍繞著Proof Market。這個過程旨在創造一個去中心化的市場,ZKP的生成和驗證是自動化的,參與者都可以根據他們的貢獻獲得相應的獎勵。
應用場景
自從2023年1月的測試發布以來,Proof Market的主要應用場景是在以太坊第一層(L1)之外運作的協議:如zkRollup、連接到以太坊的zkBridge,以及使用zkP的公鏈。
隨著以太坊端點的整合(Ethereum endpoint integration,指的是一個網關接口,允許其他系統或服務連接和融合),Proof Market會適用於更多應用,尤其是那些需要從EVM應用程式直接請求證明以提供更流暢使用者體驗或需要鏈上儲存資料一起工作的應用。
以下是一些潛在的應用場景:
- 機器學習(ML):可以在鏈上向zkML應用發起推理請求。詐欺偵測、預測分析、身份驗證等應用程式可以部署在以太坊上。
- 以太坊資料處理(zkOracles):許多應用需要以太坊的歷史或處理後的資料。使用zkOracles,使用者可以從共識層取得執行層的資料。
- 資料傳輸(zkBridges):使用者可以直接要求資料傳輸並支付證明費用,無需橋樑操作者作為使用者和市場之間的中介。
- 詐欺證明(Fraud Proof):有些詐欺證明可以在鏈上被輕鬆驗證,而其他一些則不能。漁夫(Fishermen,指專注於驗證主協議並尋找可能的詐欺行為的網路參與者)可以專注於驗證主協議,並指向Proof Market提供的所需證明。
- 資料更新與累積:應用程式可以在第一層直接儲存最新更新,並稍後將其累積到Merkle樹中,附帶正確根更新的證明。
- 隨機數產生:應用程式可以訂購透過無信任雜湊基礎的VDF產生的隨機數。
- 證明聚合:如果應用程式獨立發送它們的證明(不進行驗證),將它們聚合成單一證明,然後一次性驗證,可以降低證明的驗證成本。
實戰環節
近期我們所熟知的LSD專案Lido,也正在透過Proof Market來建構增強Lido Accounting Oracle合約安全性和可信度的方案。 Lido Accounting Oracle依賴一個由信任的第三方組成的Oracle委員會和法定人數機制來維護其狀態,這會造成潛在的攻擊向量。 Proof Market的解決流程如下:
問題定義
- Lido Accounting Oracle合約:處理複雜的報告,包括共識層(Consensus Layer)的資料(如總價值鎖定(TVL)、驗證者數量等)。
- 目標:使報告變得無需信任(Trustless),需要擴展報告以包含計算有效性證明。
解決方案規範
- 初步目標:在第一階段,只報告Lido CL餘額(指在Lido協議中,與共識層相關的資產餘額)、活躍和退出的餘額數量等子集。
- 主要參與者:
Lido:需要讓某些資料從共識層狀態可在執行層(Execution Layer)取得。
Oracle:報告TVL和驗證者數量給TVL合約。
證明生產者(Proof Producer):產生計算完整性證明。
證明驗證者(Proof Verifier):在EL合約中驗證證明。
技術實現
Oracle:獨立應用,取得輸入數據,計算Oracle報告,產生包含證明。
zkLLVM電路:用於建立計算完整性的零知識證明的程式。
無需信任的會計審核Oracle合約:驗證二進位證明,驗證計算有效性資訊。
部署階段
- 目前狀態:當足夠多的信任Oracle成員提交報告且達到法定人數時。
- 「暗啟動」階段:達到信任法定人數,但也接受無需信任報告並進行必要驗證。
- 過渡期:達到信任法定人數,至少收到1個有效的無需信任報告,且報告一致。
- 完全啟動:會計合約只使用無需信任報告來確定TVL和驗證者數量。
- 最終狀態:完全廢除法定人數報告,只使用無需信任報告。
結語
相較於AGI算力市場的宏偉藍圖,ZKP算力市場目前確實更侷限於區塊鏈中的應用。但與之相反的好處是,ZKP算力市場的開發不需要考慮到類似神經網路這種極為繁雜的設計,整體開發難度較低,資金需求也較少。結合上文的項目來看也不難發現,當AGI算力市場還困惑於如何落地時,ZKP算力市場已經多維度地貫穿區塊鏈中多個應用場景。
從市場角度來看,ZKP算力市場這條賽道目前還處於極為藍海的階段,而上文提到的Proof Market也不屬於我心中最理想的設計,結合演算法優化、應用場景優化、硬體優化以及對不同算力賣方市場的選擇,ZKP算力市場的設計上依舊有非常大的想像空間。再從發展角度思考,Vitalik曾多次強調ZK在未來十年內對區塊鏈領域的影響將與區塊鏈本身一樣重要。不過從ZK的泛用性來看,隨著設計的成熟,ZK未來在非區塊鏈領域的重要性或許並不遜於當下的AGI,前景不容小覷。
參考文獻:
1.Hardware Acceleration for Zero Knowledge Proofs:https://www.paradigm.xyz/2022/04/zk-hardware
2.Use of elliptic curves in cryptography (1988):https://link.zhihu.com/?target=https%3A//link.springer.com/content/pdf/10.1007%252F3-540-39799-Xpdf/10.1007%252F3-540-39799-Xpdf_31. pdf
3.ZKLLVM + Lido Trustless Accounting oracle: solution spec:https://docs.google.com/document/d/1d5Ru7WWae-yilXzOVgNS5DNweAMj6FNJrZllvD00mB0/edit
4.DIZK: A Distributed Zero Knowledge Proof System:https://www.usenix.org/conference/usenixsecurity18/presentation/wu
5.Proof Market開發者指南:https://docs.nil.foundation/proof-market/proof-producers/proof-producer
6.IOSG Weekly Brief |ZKP 加速:https://mirror.xyz/0x5Eba828AB4999825D8416D7EAd9563b64FD90276/8DGPafCg1oLZ0T-cXSbcu5q1dYxhFDuilZf
7.ZK證明計算:算力硬體的新征途? : https://mp.weixin.qq.com/s/gInQOIJyLZwzzgmFkbaFwQ
8.硬體加速驅動的ZK新紀元:https://mp.weixin.qq.com/s/3I-gz4O57_crS7_KZSA8KA