風險提示:防範以"虛擬貨幣""區塊鏈"名義進行非法集資的風險。——銀保監會等五部門
資訊
發現
搜索
登錄
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
查看行情
Amber Group:全方位解讀零知識證明
星球君的朋友们
Odaily资深作者
2022-09-09 07:48
本文約9477字,閱讀全文需要約14分鐘
了解市場格局、零知識技術對挖礦市場產生的影響、以及潛在機會。

原文來源:Amber Group

原文來源:Amber Group

1. 引言

  • 零知識證明允許一方在不需要透露任何額外信息的前提下,向另一方進行真實性證明。因此可以用來保護隱私,在隱藏所有細節的情況下證實交易的有效性。某些特定零知識協議在驗證零知識證明上具有便利性,這很重要,例如STARK和SNARK。這些協議生成的證明較小,驗證此類證明也會快很多。這很適合資源有限的區塊鏈,並且在解決加密行業的可擴展性問題上尤為重要。除此之外,零知識技術的其他用例還包括:

  • 特徵"特徵"特徵

  • ,例如Sismo,First Batch

  • 社區治理——用於匿名投票,並且在經過實踐考驗和廣泛採用後,該用例可以延展至現實社會的治理中

  • 財務報表——實體可以在避免透露確切財務數據的前提下,證明其符合某些特定標準

……

雲服務的完整性——幫助雲服務供應商更好地執行任務

圖片描述

圖片描述

來源:ZK Whiteboard Sessions - Module One,由Dan Boneh教授撰寫

已有多個優秀的證明系統面世,例如Marlin、Plonky2、Halo2等。不同的證明系統在生成證明的大小、驗證所需時間和是否需要可信設置等特性之間有不同的側重。經過這幾年的探索,無論陳述多麼複雜,都有可能實現恆定的證明大小(幾百字節)和較短的驗證時間(幾毫秒)。

然而,證明生成的複雜性與算術環路大小幾乎成線性關係,所以難度甚至可能達到原始任務的數百倍。因為證明者至少需要閱讀和評估環路,這就可能需要幾秒鐘到幾分鐘,甚至幾小時。算力成本高和證明時間長一直是零知識技術進步和大規模應用的主要障礙。

硬件加速可以幫助打破瓶頸。借助算法或軟件優化將多個任務分配給最適合的硬件,這將實現相輔相成。

  • 一級標題

  • 結語

  • 結語

一級標題

2. 用例

列舉零知識用例將有助於說明市場是如何演變的。因為不同類別有不同需求,所以硬件供給也牽連其中。在本節的最後,我們還將簡要比較ZKP和PoW(尤其是對於比特幣)。

2.1 新興的區塊鍊及其差異化需求

當前使用零知識技術的新興區塊鍊是硬件加速的主要需求方,大致分為擴展解決方案和保護隱私的區塊鏈。零知識的Rollup或Volition在鏈下執行交易,並通過“calldata”功能提交簡潔的驗證證明。保護隱私的區塊鏈使用ZKP讓用戶在避免披露交易細節的前提下,確保發起交易的有效性。

這些區塊鏈通過使用不同的證明系統來權衡證明大小、驗證時間、可信設置等特性。例如,Plonk生成的證明具有恆定的證明大小(約400字節)和驗證時間(約6毫秒),但仍需要通用的可信設置。相比之下,Stark不需要可信設置,但其證明大小(約80KB)和驗證時間(約10毫秒)欠佳,並且會隨著環路大小而增加。其他系統也各有利弊。在這些證明系統間進行權衡結果將導致計算量的“重心”發生變化。

Paradigm的Georgios Konstantopoulos在他Paradigm的Georgios Konstantopoulos在他關於硬件加速的報告

中解釋說,生成證明所需的時間主要取決於兩類計算任務:MSM(多標量乘算法)和FFT(快速傅裡葉變換)。但是,不使用固定參數,而是建立不同PIOP,並從不同PCS中進行選擇,將會帶來FFT或MSM的不同計算量。以Stark為例,Stark使用的PCS是FRI(快速里德-所羅門碼接近性交互預言證明),它基於裡所碼,而非KZG或IPA使用的橢圓曲線,因此在整個證明生成過程中完全不涉及MSM。我們在下表中對不同證明系統計算量進行了粗略排序,需要注意的是1)很難估計整個系統的確切計算量;2)項目方在執行時通常會按需修改系統。

不同證明系統的計算量

上述情況將使項目方有各自的硬件類型偏好。目前由於GPU(圖形處理器)供應量大且便於開發,GPU的使用最廣泛。此外,GPU的多核結構非常便於並行MSM計算。然而,FPGA(現場可編程門陣列)可能更擅長處理FFT,我們將在第二部分中詳述。如Starknet和Hermez等使用Stark的項目,可能更需要FPGA。

上述得出的另一個結論是,這項技術仍處於早期階段,缺乏標準化或主導的解決方案。而全面使用特定算法專用的ASIC(專用集成電路)也可能為時過早。因此,開發人員正在探索一個中間地帶,我們稍後也會對此做進一步解釋。

2.2 趨勢與新範式

2.2.1更複雜的陳述借鑒開篇列出的用例,我們期待零知識在加密行業和現實世界中有更多用途,並實現更複雜的證明,有些甚至可以不必遵守目前的證明系統。項目方可以不採用PIOP和PCS,而是開發最適合自己的新原語。而在如MPC(安全多方計算)的其他領域,在部分工作中採用零知識協議將大大提高其實用性。以太坊最近也為了實現Proto-Danksharding而計劃舉辦KZG可信設置儀式,未來準備進一步實現完整版的Danksharding,以此來處理數據可用性採樣。即便是Optimistic Rollup也有可能在未來採用ZKP

來提升安全性和縮短爭議處理時間。雖然許多人可能將零知識視為廣義加密行業中的一個獨立板塊,但我們認為應該將零知識視為一種解決行業多個痛點的技術。

反過來看,為了向不同系統和客戶提供服務,未來更需要硬件加速具有靈活性和通用性。

2.2.2 本地生成證明用於保護隱私的ZKP和用於壓縮信息的ZKP在結構上有明顯差異。為了隱藏交易細節,在證明過程中會涉及一些隨機數。用戶需要在本地生成證明,但大多數用戶沒有先進的硬件。更糟糕的是,如果大多數dapp仍然是Web APP,則需要在瀏覽器中生成證明,這將需要更長的證明時間。例如,當Manta試圖為WASM構建高性能證明者時,他們很快意識到“與本地處理速度相比,WASM給用戶造成10-15倍的性能損失”。為了解決這個問題,Manta選擇成為ZPrize的讚助商和架構師,ZPrize是最大的ZKP加速競賽之一,並且Manta設置了一個WASM加速專屬賽道

。提供客戶端版本是這類dapp的一個簡單解決方案,但需要下載可能會造成部分潛在用戶流失,並且客戶端也不適用於當前的擴展錢包或其他工具。另一種解決方案是部分外包證明生成。 Pratyush Mishra在第七屆零知識峰會期間介紹了這種方法

圖片描述

圖片描述

來源:第七屆零知識峰會,由Aleo的Pratyush Mishra提出

2.3 與PoW挖礦相比較

雖然人們會很自然地認為ZKP是PoW的一種新穎形式,並將加速硬件視為一種新型礦機,但ZKP生成在目的和市場結構上與PoW挖礦有著本質區別。

2.3.1功率競爭與效用計算

  • Rates-are-Odds (Aleo):為了賺取出塊獎勵和交易費用,比特幣礦工通過不斷迭代隨機數來尋找足夠小的哈希值,這實際上只與共識的達成相關。與此相比,ZKP生成是實現信息壓縮或隱私保護等實際效用的必要過程,而不需要對共識負責。這種區別會影響ZKP潛在的廣泛參與性和獎勵分配模式。下面我們列出了三種現有設計,來闡述礦工將如何協調ZKP生成。

  • Winner-Dominates(Polygon Hermez):Aleo的經濟模型設計是最接近比特幣和其他PoW協議的。它的共識機制PoSW(簡潔工作證明)仍要求礦工找到一個有效的隨機值,但驗證過程主要以反復生成SNARK證明為主,該證明以隨機值和狀態根的哈希值作為輸入部分,過程直到某輪生成的證明哈希值足夠小為止。我們將這種類似PoW的機制稱為Rates-are-Odds模型,因為在單位時間內可以處理的驗證數量大致決定了獲得獎勵的概率。在此模型中,礦工通過囤積大量計算機器來提高獲得獎勵的機率。Polygon Hermez採用更簡單的模型。根據他們公開文檔

  • Party-Thresholds (Scroll):的內容來看,兩個主要參與者是排序者和聚合者,排序者收集所有交易並將它們預處理為新的L2批次,聚合者明確其驗證意圖並競爭生成證明。對於給定的批次,第一個提交證明的聚合者將賺取到排序者支付的費用。在不考慮地理分佈、網絡狀況和驗證策略的前提下,擁有最先進的配置和硬件的聚合者可能會占主導地位。

Scroll將他們的設計描述為“Layer2證明外包”,質押一定數量加密貨幣的礦工將會被任意選擇生成證明。被選中的礦工需要在規定時間內提交證明,否則其下一個epoch的選中概率將被下調。生成錯誤的證明將會導致罰金。起初,Scroll可能會與十幾個礦工合作以提高其穩定性,甚至還會運行自有GPU。而隨著時間的推移,他們計劃分散整個過程。我們將這個實施分散的時間節點作為參數來衡量Scroll在效率和去中心化之間的重心調整。 Starkware也可能屬於此類。從長遠來看,只有擁有能夠及時完成證明的機器才能參與證明生成。這些協調設計各有不同的側重點。我們預計Aleo將擁有最高的去中心化,Hermez將擁有最高的效率,而Scroll將擁有最低的參與門檻。

但根據上述設計,零知識的硬件軍備競賽不大可能會馬上發生。

2.3.2 靜態算法與進化算法

一級標題

一級標題

3. 解決方案

3.1 GPU:目前最常用的硬件

3.1 GPU:目前最常用的硬件pippengerGPU最初設計用來操控計算機圖形和處理圖像,但它的並行結構使其在計算機視覺、自然語言處理、超級計算以及PoW挖礦等領域成為不錯的選擇。 GPU可以加速MSM和FFT,特別是對於MSM,通過利用被稱為“

”的算法,開發GPU的過程比FPGA或ASIC要簡單得多。

在GPU上加速的理念非常簡單:將這些需要算力的任務從CPU轉移到GPU。工程師們會將這些部分重寫進CUDA或OpenCL,CUDA是一個由英偉達開髮用於在英偉達GPU上進行通用計算的並行計算平台和編程模型,CUDA的競爭對手是由Apple和Khronos Group為異構計算提供標準而打造的OpenCL,這使得用戶不再被局限於英偉達的GPU。這些代碼之後會被編譯並可直接在GPU上運行。對於更進一步的加速,拋開改進算法本身,開發人員還可以:

(1) 為降低數據傳輸成本(尤其是CPU和GPU之間的數據傳輸),通過盡可能多使用快速存儲和少使用慢速存儲來優化內存。

(2) 為提高硬件利用率,使硬件盡可能滿負荷工作,通過更好地平衡多處理器之間的工作、構建多核並發以及為任務合理分配資源來優化執行配置。

簡而言之,我們要盡其所能來並行化整個工作過程。同時應盡可能避免後項依賴前項結果這樣的順序化執行過程。

通過並行化節省時間

GPU加速設計流程

3.1.1 龐大的開發者群體和開發的便利性與FPGA和ASIC不同,GPU開發不涉及硬件設計。 CUDA或OpenCL也有龐大的開發者群體。開發人員能夠基於開源代碼快速建立自己的修改版本。例如,Filecoin早在2020年就發布了解決方案解決方案解決方案

,目前這可能是同類中最好的開源解決方案。當考慮除MSM和FFT之外的工作時,這種優勢更加明顯。證明生成的確主要由這兩項主導,但其他部分仍佔約20%(來源:Sin7Y的白皮書

),因此僅加速MSM和FFT對縮短證明時間作用有限。即使將這兩項的計算時間壓縮到瞬時,所花費的總時間仍只是最初的五分之一。此外,由於這是一個新興且不斷發展的框架,因此很難預測該比率在未來將如何變化。鑑於FPGA需要重新配置,而ASIC也可能需要重新設計生產,GPU更便於加速異構計算工作。

3.1.2 過剩的GPU

圖片描述

圖片描述

來源:Jon Peddie Research特別是對於挖礦,我們保守估計在圖片描述

以太坊哈希率

圖片描述

來源:Messari

3.2 FPGA:平衡成本與效率

FPGA是具有可編程結構的集成電路。因為FPGA芯片內部的電路未經過硬蝕刻,因此設計人員可以根據特定需求對其進行多次重新編程。一方面,這有效地削減了ASIC的高額製造成本。另一方面,其硬件資源的使用比GPU更靈活,使得FPGA有進一步加速和省電的潛力。例如,儘管可以實現在GPU上優化FFT,但頻繁地打亂數據會導致GPU和CPU之間的數據傳輸量很大。然而,打亂並不是完全隨機的,通過將內在邏輯直接編寫到電路設計中,FPGA有望更快地執行任務。

要在FPGA上實現ZKP加速,仍然需要幾個步驟。首先,需要一個用C/C++編寫的特定證明系統的參考實現。然後,為了在更高層次上描述數字邏輯電路,這個實現需要用HDL(硬件描述語言)來描述。

隨後需要通過模擬調試來顯示輸入和輸出的波形,以此查看代碼是否按預期運行。這一步是涉及實現最多的步驟。工程師不需要整個過程,而只需通過比較這兩個輸出就能識別一些微小錯誤。然後,合成器會將HDL轉換為具有門和触發器等元件的實際電路設計,再將設計應用到設備架構和更多模擬分析上。一旦確認電路能夠正常運行,最後將創建一個編程文件並將其加載到FPGA器件中。

FPGA設計流程

3.2.1當前的障礙和尚未完備的基礎設施

雖然可以重複利用GPU上的一些模塊優化工作,但也面臨一些新的挑戰:

(1) 為了內存安全性更高且跨平台兼容性更好,長期以來零知識的開源實現大多是用Rust編寫的,但大多數FPGA開發工具都是用硬件工程師更為熟悉的C/C++編寫的。在實施之前,團隊可能必須重寫或編譯這些實現。

(2) 在編寫這些實現時,軟件工程師只能在範圍有限的C/C++開源庫中選擇代碼,這些庫可以通過現有的開發支持映射到硬件架構中。

(3) 除了軟件工程師和硬件工程師可以分別獨立完成的工作之外,還需要他們的密切協作來完成一些深度優化。例如,對算法的一些修改會大量節省硬件資源,同時保證其發揮與之前相同的作用,但這種優化基於對軟硬件的理解。簡而言之,與AI或其他成熟領域不同,工程師必須從零開始學習和構建以實現ZKP加速。幸運的是,我們看到了更多進展。例如,Ingonyama在他們最近的論文

中提出了PipeMSM,這是一種在FPGA或ASIC上加速MSM的方法。

3.2.2 雙頭壟斷市場

圖片描述

圖片描述

來源:Frost & Sullivan

工程師們已經意識到,單個FPGA無法為複雜的ZKP生成提供足夠的硬件資源,因此必須同時使用多卡進行驗證。即使有完備的設計,AWS及其他供應商提供的現有標準FPGA雲服務並不理想。此外,提供加速解決方案的初創公司通常規模太小,無法讓AWS或其他公司託管他們的定制化硬件,而且他們也沒有足夠的資源來運行自己的服務器。與大型礦工合作或與Web3原生雲服務提供商合作可能是更好的選擇。然而,考慮到挖礦公司的內部工程師也可能將開發加速解決方案,這種合作關係可能會很微妙。

3.3 ASIC:終極武器

ASIC是為特定用途專門定制的集成電路(IC)芯片。通常,工程師仍會使用HDL來描述ASIC的邏輯,這種方式類似於使用FPGA,但最終電路會永久地繪製到矽片中,而FPGA中的電路是通過連接數千個可配置模塊而製成的。不同於從英偉達、英特爾或AMD採購硬件,公司必須設法自己完成從電路設計到製造和測試的整個過程。 ASIC將僅限於某些特定功能,但相反在資源分配和電路設計方面這賦予設計人員最大程度的自由度,因此ASIC在性能和能耗效率方面擁有巨大潛力。設計人員可以在空間、功率和功能上消除浪費,只需根據預期應用來設計確切數量的門,或調整不同模塊的大小。

在設計流程方面,與FPGA相比,ASIC需要在HDL的編寫和整合這兩步之間加入流片前驗證(以及DFT),並且實施前需要布圖規劃。前者是工程師在虛擬環境中使用複雜模擬工具測試設計,後者用於確定芯片中模塊的尺寸、形狀和位置。設計實現後,所有文件都會被送到台積電或三星等代工廠進行測試流片。如果測試成功,則會將原型送去組裝和檢測。

ASIC設計流程

3.3.1 零知識領域相對通用的ASIC

ASIC遭到的一個普遍批評是,一旦算法改變,以前的芯片就完全沒用了,但不一定如此。

巧合的是,與我們交流過的所有計劃開發ASIC的公司都沒有孤注一擲於特定的證明系統或項目。相反他們更喜歡在ASIC上開發一些可編程模塊,以便通過這些模塊應對不同的證明系統,並且只將MSM和FFT任務分配給ASIC。這對於特定項目的特定芯片來說不是最理想的,但是在短期內比起用於特定任務的設計,犧牲性能來獲得更好的通用性可能是更優的選擇。

3.3.1 昂貴但非經常性的成本投入

不僅ASIC的設計過程比FPGA複雜得多,而且製造過程也會消耗更多的時間和金錢。初創公司可以直接聯繫代工廠進行流片或通過分銷商。到真正能夠開始執行可能需要等待大約三個月或更長時間。流片的主要成本來自於掩模版和晶圓。掩模版用於在晶圓上形成圖形,晶圓是一片薄矽片。初創公司通常選擇MPW(多項目晶圓),可以與其他項目方共同分擔掩模版和晶圓的製造成本。但是,取決於他們選擇的工藝和芯片數量,保守估計流片成本仍將高達數百萬美元。流片以及組裝和測試還需要幾個月的時間。如果可行,才終於能夠開始準備量產。但是,如果測試出現任何問題,調試和故障分析又將花費難以估計的時間,並且需要再次流片。從最初的設計到量產需要幾千萬的資金,還需要大約18個月的時間。得以慰藉的是,上述成本的很大一部分屬於非經常性成本。此外,ASIC擁有高性能且能夠節省能源和空間,這都是很重要的,並且價格可能相對較低。

圖片描述

圖片描述

來源:Amber

為了更直觀地了解可用商業模式,我們在如下圖表中展示了所有潛在的市場參與者。由於參與者之間可能存在交叉關係或者復雜情況,因此我們僅按功能對他們進行分類。

硬件加速的功能層

零知識尚未實現大規模應用,構建加速解決方案也將是一個漫長的過程。我們拭目以待未來的轉折點。對於構建者和投資者來說,關鍵問題是這個轉折點何時到來。

致謝

免責聲明

免責聲明

原文鏈接

原文鏈接

Amber Group