比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > Pol幣 > Info

ZK硬件加速:過去、現在和未來_ARK

Author:

Time:1900/1/1 0:00:00

原文標題:ZK Hardware Acceleration: The Past, the Present and the Future原文作者:Luke Pearson and the Cysic team原文來源:hackmd編譯:Kate, Marsbit

●在硬件加速ZKP中,FPGA具有與GPU相同的每瓦性能水平,但在每美元性能指標上無法與GPU競爭。

●ASIC在上述兩個指標上優于FPGA和GPU,但需要更長的時間才能進入市場。

近年來,零知識證明(ZKP)的重要性呈指數級增長,成為過去半個世紀計算機科學中最重要的創新之一。這可以歸因于ZKP有可能極大地增強區塊鏈平臺(如以太坊)的可擴展性。ZKP的一個關鍵方面是它們能夠顯著提高各種區塊鏈平臺上的每秒交易量(TPS),這完全依賴于數學原理而不是信任。通過使驗證者能夠將多個交易合并到一個單一的、簡潔的證明中,ZKP確保了整個過程的準確性和完整性。ZKP提供了許多其他功能,使它們成為各種擴展和隱私解決方案的重要組成部分,包括像StarkNet這樣的ZK聚合,像Aztec這樣的私有ZK聚合,以及像Mina、Filecoin、Manta和Aleo這樣的第1層鏈。盡管如此,ZKP也不是沒有局限性,因為生成證明的過程在時間和精力方面都是非常耗費資源的。由于需要許多復雜的數學運算,例如冪運算、倒數運算和雙線性配對計算,證明的創建通常會減慢速度。因此,優化ZKP解決方案以充分利用其潛力仍然是一項挑戰。為了克服所有提出的ZKP構造的這些問題,開發硬件加速方法是至關重要的。也就是說,通過使用專用硬件,如現場可編程門陣列(FPGA)和專用集成電路(ASIC),它們可以加速10-1000倍。

在本文中,我們將概述與ZKP相關的計算挑戰,然后討論有助于解決這些問題并提高這些加密技術效率的潛在改進。

zkSNARK (Zero-Knowledge Succinct Non-Interactive ARgument of Knowledge) 方案是一種ZKP,它允許證明者說服驗證者,證明者知道一個證人,而不透露有關該證人的任何信息。該方案包括四種算法:Setup、KeyGen、Prove和Verify。Setup算法生成一些結構化的參考字符串,KeyGen算法將使用該字符串為某些指定電路生成證明密鑰和驗證密鑰。證明者擁有證明密鑰和陳述/見證對,可以通過指定的電路對陳述/見證對的關系生成ZK證明。驗證者可以使用驗證密鑰和聲明來檢查ZK證明的有效性。

數據:zkSync參與橋接交易的用戶量突破90萬:金色財經報道,據 Dune Analytics 數據顯示,以太坊 Layer2 擴容解決方案 zkSync 跨鏈橋接參與橋接交易的用戶量突破90萬,本文撰寫時達到903,093個,跨鏈橋接存儲總價值為280,661 ETH,按照當前ETH價格計算約合5.34億美元。[2023/6/4 11:56:18]

●完整性:如果證明者擁有證人,他們可以產生有效的證明,并且驗證者將始終接受它。

●零知識:證明方可以提供證據,證明其擁有秘密證人,而無需向驗證方或其他任何人披露有關秘密證人的任何信息。

●可靠性:對于不誠實的證明者來說,不需要證人就能提出有效的證明是不可能的。

另一種變體稱為zkSTARK (Zero-Knowledge Scalable and Transparent ARgument of Knowledge)。它可以在零知識的情況下運行,也可以在沒有零知識的情況下運行,并且可以是交互式或非交互式協議。它們也可以取代zkSNARK作為交互協議。與zkSNARK不同,交互式證明不需要可信的Setup設置階段,這使STARK系統成為更好的選擇。STARK系統通過利用交互式Oracle證明(IOP)域克服了這一缺點,該域依賴于快速Reed-Solomon代碼來提高可擴展性,從而開發了zkSTARK證明系統。此外,基于zkSTARK的系統對于證明者和驗證者來說都具有對數復雜度,使它們變得高效,并防止一方執行拒絕服務(DoS)攻擊,因為每一方的計算需要相似的時間。zkSTARK的另一個值得注意的特性是推測的后量子安全性,而zkSNARK則不是由于Shor的量子算法。zkSTARK系統提供后量子安全,前提是框架內使用的哈希函數本身能夠抵抗量子計算攻擊。

在區塊鏈技術領域,通常使用縮寫SNARK和STARK來代替zkSNARK和zkSTARK,因為某些區塊鏈平臺可能并不總是需要隱私功能。因此,在本文中,我們也將在討論和解釋中采用簡化的術語“zk”。ZKP有兩個重要的用例:

●外包可驗證計算:假設我們需要進行一項計算,由于底層平臺的限制(例如,智能手機、Raspberry Pi、筆記本電腦,甚至是以太坊等區塊鏈網絡),該計算要么成本昂貴,要么無法運行。在這種情況下,我們可能不得不在第三方服務上運行計算,它可以快速而廉價地返回計算的輸出(例如像Chainlink或AWS Lambda函數這樣的預言機服務)。然而,在許多情況下,我們必須依賴于計算已經正確執行的假設,從而使服務提供者有可能生成不準確的結果。這種結果可能導致嚴重的后果,并損害系統的完整性。

數據:過去5日zkSync日均轉入ETH超700枚,增幅超250%:10月25日消息,據Dune Analytics數據顯示,自10月20日以來,zkSync網絡ETH轉入量持續出現快速增長,日均轉入量為746.4枚。而此前日均轉入量為199枚,增幅超250%。[2022/10/25 16:38:14]

●私有計算:如果在本地執行計算的成本不高,但它的某些部分需要是私有的,那么ZKP也很有用。換句話說,ZKP可以確保計算已經正確執行,甚至不需要向外包提供商披露私有值。例如,如果我們想在不披露實際數字的情況下證明我們知道第1000個斐波那契數,或者在不披露我們的身份或支付金額的情況下證明我們進行了有效的支付,ZKP可以很容易地幫助實現這一目標。更進一步,我們可以通過ZKP選擇性地披露一些私有值,同時隱藏其他部分(也稱為選擇性披露)。

在區塊鏈的背景中,ZKP的上述用例如下:

●第2層擴展:通過將ZKP合并到可驗證的計算中,第1層區塊鏈可以將交易處理委托給鏈下的高性能系統,通常稱為第2層。這種方法增強了區塊鏈的可擴展性,同時保持了強大的安全措施,在效率和安全性之間取得了平衡。StarkWare開發了StarkNet,這是一個可擴展的智能合約平臺,使用專門的虛擬機來執行ZK友好的代碼,而Aztec允許他們的第二層程序私下運行,保護用戶的交易信息。

●私有第1層:Aleo, Mina, Manta和Zcash是第1層區塊鏈,使用ZKPs使交易者能夠默認(如Aleo)或通過選擇加入過程(如Mina和Zcash)隱藏發送方,接收方或金額。

●數據壓縮:Mina和Celo利用ZKP將同步到鏈的最新狀態所需的區塊鏈數據壓縮為簡短的證明。

●去中心化存儲:Filecoin還使用ZKP(在GPU上運行)來證明網絡中的節點正確存儲數據。

因此,隨著加密貨幣的采用不斷擴大,對增強性能和隱私的需求也將增加,從而推動了對更復雜的ZKP應用程序的需求。隨著開發人員創建新的應用程序和協議,ZKP將在促進安全和高效的去中心化系統方面發揮關鍵作用。這些系統將能夠處理大規模交易,同時保護用戶隱私,滿足數字貨幣領域不斷變化的需求。

為了證明使用ZKP的計算,有必要將計算從經典程序轉換為ZK友好的格式。有兩種方法可以做到這一點:要么使用某種現有語言編寫的庫,比如Arkworks(在Rust中),要么使用領域特定語言(DSL),比如Cairo或Circom,它可以編譯成生成證明所需的原語。操作越復雜,生成證明所需的時間就越長。此外,一些操作本身就不是ZK友好的,需要進行額外的工作。例如,SHA或Keccak中使用的按位函數等操作可能與ZKP不友好,從而導致證明生成時間延長。即使對于在傳統計算機上執行的相對便宜的操作,也可能發生這種情況。將計算轉換為ZK友好格式后,選擇一些輸入并將其提交給證明系統。有許多證明系統,如Groth16、PLONK、HyperPlonk、UltraPlonk、Sonic、Spartan和STARK。所有這些系統都具有相同的基本功能,即接受具有輸入的ZK友好計算并生成證明作為輸出。根據不同的證明系統,證明生成過程可能不同,但瓶頸最終是相似的。

YouSwap將于6月4日18:00新增ZKT一礦多挖:據官方最新消息,YouSwap將于6月4日18:00(UTC+8)于HECO鏈開拓區新增開啟ZKT一礦多挖???,用戶可以通過質押以上幣種來挖礦YOU和ZKT。

截至6月4日17:00,YouSwap累計交易總額達56,287,189USDT,YOU總銷毀數量達304,322,累計挖礦總產值3,749,024USDT。[2021/6/4 23:12:15]

在ZKP的背景中,主要有兩個計算任務:

●大型數字向量的乘法,可以是字段或組元素。在這種情況下,還有兩種特定類型的乘法:可變基數和固定基數多標量乘法(MSM)。

●數論變換(NTT)與逆數論變換。然而,也有技術可用于無NTT的證明系統,如最近的HyperPlonk系統。在同時存在NTT和MSM的系統中,生成證明的時間約有60%花在MSM上,其余時間由NTT主導。MSM和NTT都存在性能挑戰,可以通過以下方式解決:

●MSM可以在多個線程上執行,從而支持并行處理。然而,當處理大型元素向量時,例如6700萬個元素,乘法運算可能仍然很慢,并且需要大量的內存資源。此外,MSM存在可擴展性方面的挑戰,即使在廣泛并行化的情況下也可能保持緩慢。

●在算法過程中頻繁的數據混洗使得NTT難以在計算集群中分布,并且由于需要從大型數據集中加載和卸載元素,它們在硬件上運行時需要大量帶寬。即使硬件操作很快,這可能也會導致速度變慢。例如,如果硬件芯片的內存為16GB或更少,那么在100GB的數據集上運行NTT將需要通過網絡加載和卸載數據,這可能會大大降低操作速度。

我們認為,硬件加速是使區塊鏈協議獲得實際應用所需的可擴展性的重要組成部分。目前,區塊鏈協議受到鏈上計算和存儲容量以及網絡帶寬的限制。通過優化鏈下硬件和證明生成,我們有信心大大提高區塊鏈網絡的性能,使其更加有效和高效。

ZPrize是區塊鏈行業的一個集體倡議,由超過32個合作伙伴和贊助商組成,他們貢獻了自己的時間、資源和努力來確保其成功。該計劃提供了一系列挑戰和項目,激勵參與者開發創新的解決方案,促進可持續發展和減少碳排放。他們為實現這兩個目標感到自豪,這標志著零知識密碼學領域的重大進步。ZPrize的結果超出了他們的預期,如下圖所示。對于他們收到的大多數獎項,與基線相比平均提高了五倍以上。值得注意的是,一些涉及FPGA的獎項缺乏公開基準,這使得這些參賽作品成為開源形式的算法實現的首次公開演示。以下是一些值得注意的成就:

ZKSwap將臨時移除Uniswap上的流動性:2021年2月5日 據ZKSwap(zks.org) 團隊透露,ZKS 將在接下來的72小時內,完成4次快照和空投發放,并在第一次快照之前的24小時內,短暫移除Uniswap 上的流動性池子(ZKS/USDT),并在空投的4000萬ZKS 發放完畢的48小時之內,重新添加Uniswap 的流動性池子,考慮到本次空投后,ZKS 流通量從4000萬個增加到8000個,為了避免價格的劇烈變化,重新添加Uniswap流動性的時候,如果市場價格高于移除流動性時價格的50%, 那么將會按照市場價格添加流動性;如果空投后,市場價格低于移除流動性時價格的50%, 那么將會按照移除流動性時的價格的50% 添加流動性。ZKSwap 團隊也希望其他在Uniswap上提供流動性的社區成員,可以暫時移除流動性,并在空投結束后,重新添加流動性。ZKSwap空投完畢后,將會全力準備ZKSwap 主網上線,并開啟一系列的流動性挖礦和交易挖礦活動。[2021/2/5 18:58:15]

●對于大規模問題實例,GPU上的多標量乘法(2的26次方元素)從5.8秒提高到2.5秒,從而支持更復雜的zkSNARKs使用。

●Poseidon零知識友好哈希函數實現將約束計數減少了一半,從而顯著降低了在SNARK中創建Merkle樹的成本。

●針對小規模問題實例,Android移動設備上的多標量乘法從2.4秒改進到大約半秒,從而促進了基于ZK的移動支付。

在接下來的幾個月里,他們計劃展示所有參與該計劃的團隊的工作。隨著零知識密碼學領域的發展,新的方法和障礙將會出現。他們希望定期組織ZPrize競賽,以促進這項技術的進步,并通過一系列開源材料將其提供給公眾。

證明生成的瓶頸通常源于大量向量的乘法,包括字段或組元素,變量或固定基數的多標量乘法,以及NTT和逆NTT。在同時使用NTT和MSM的加密系統中,MSM貢獻了大約70%的證明生成時間,而NTT支配了剩余的時間。雖然MSM是可并行的,但它仍然很慢,需要大量的內存資源,并且經常消耗設備上的大部分可用內存。另一方面,NTT嚴重依賴于頻繁的數據混洗,這會使跨計算集群分配負載的加速變得復雜。此外,NTT需要大量的帶寬才能在硬件上運行,因為通過網絡加載和卸載數據會顯著降低操作速度,盡管硬件操作本身非常快。然而,有一些方法可以提高MSM和NTT的性能,以優化證明生成過程。

動態 | Zcoin首席運營官:zk-SNARKs或允許惡意代理商制造額外令牌:據cryptobriefing報道,Zcoin(XZC)首席運營官Reuben Yap表示,未經證實的加密假設和zk-SNARK的潛在bug會將使用該算法的區塊鏈(如Zcash)置于安全風險之下。 zk-SNARKs(Zcash使用的隱私算法)的基本缺陷可能會允許惡意代理商制造額外的令牌。[2019/1/18]

MSM通常使用Pippenger算法來實現,以最小化組添加操作的數量。該方法有一個簡單的硬件實現,其中包括一個組添加單元和一堆表作為其基本組件。從系統設計的角度來看,MSM是對加速器非常友好的,原因如下:

●組添加是一種靜態操作(沒有依賴于數據的控制流),具有密集的計算和相對較小的輸入/輸出,使其非常適合全流水線的體系結構。這使得加速器可以實現幾乎100%的硬件利用率,而在最好的GPU實現中只有20%的利用率。幾十年的研究已經使組添加成為一種穩定的操作,因此它不太可能在ASIC加速器的壽命內被取代。

●MSM 在全局調度能力相對較弱的大規模并行硬件(如 GPU)上實現的痛點可以通過向加速器添加額外的硬件調度器輕松解決。例如,以這種方式更有效地處理一堆表的更新,避免了寫沖突的風險。

總之,使用專用硬件加速MSM是非常有利的。然而,主要問題是市場上缺乏這樣的硬件。Cycis設計了一個使用Xilinx FPGA的MSM加速器,它展示了迄今為止最好的系統性能(在BN254曲線上每2的26次方 MSM約40毫秒)。不幸的是,與為普通玩家設計的GPU相比,專業用戶的FPGA芯片成本高,加上FPGA的處理滯后(FPGA為14nm, GPU為5nm),這是兩個顯著的缺點,這兩個重大缺點抵消了基于FPGA的加速器的利用優勢。

NTT由多層蝶式操作器組成。雖然教科書上逐層的NTT實現可能很快就會因為內存帶寬利用率(由于跨行訪問)而成為瓶頸,但這個問題可以通過同時執行一批層并在計算期間適當地重新排序NTT數據來解決。根據經驗,內存訪問可以重組為塊訪問,其粒度大約為(片上內存容量的大小)/ (NTT點的k次方根),其中k是表示層組數量的可調參數。通過這種方法,GPU和加速器都能獲得出色的性能。

硬件加速可以通過在各種硬件技術(如GPU、FPGA或ASIC)上部署優化算法來增強區塊鏈協議的性能。增強軟件和算法實現以更有效地利用 CPU 和 GPU 等現有資源,以及開發定制硬件與針對特定硬件配置量身定制的新算法相結合,可以促進硬件加速。通過這樣做,目前受鏈上計算和存儲容量以及網絡帶寬限制的區塊鏈網絡的性能可以得到顯著提高。

現在和將來,什么是最好的硬件?

為了確定實現上述加速技術的最佳硬件技術,我們需要考慮到ZKP仍處于開發的早期階段。因此,在系統參數和證明系統的選擇上,如FFT寬度或元素的位大小,標準化程度有限。此外,我們還需要考慮兩個因素:

●每美元的性能:這衡量你需要為硬件性能支付多少資金。根據我們的經驗,FPGA在這個指標上無法與GPU競爭。根據ZPrize競賽提交和我們的內部基準測試結果,單個RTX3090 GPU可以產生比單個高端FPGA高約2.5倍的性能。高端FPGA和高端GPU的價格大致相同,這意味著FPGA最終將比GPU系統貴大約2.5倍。

●每瓦性能:這個指標是關于你需要花多少錢來維護硬件,基本上就是電費。在這個指標上,FPGA與GPU大致處于同一水平。

基于上述兩個指標,這是否意味著FPGA無法超越GPU?答案是否定的。雖然單個FPGA芯片無法與單個GPU競爭,但大規模互連的FPGA系統可以擊敗大規模互連的GPU系統。由于PCIe插槽的限制,一個高端GPU系統最多可以有10個GPU卡。然而,數百個FPGA芯片可以通過定制的、可編程的、高帶寬的互連連接在一起,從而達到可以擊敗GPU系統的性能水平。Cysic的大規模連接FPGA系統直接證明了這一點。

ZKP的ASIC怎么樣?

ASIC被一致認為是ZKP的理想硬件。然而,在為ZKP構建ASIC方面,有三個主要問題。

●可編程性:就ZKP邏輯修改而言,ASIC具有一次寫入業務邏輯,這需要從頭開始重建整個系統。相反,FPGA或GPU可以多次重新編程,從而可以在具有不同證明系統或潛在更新的不同項目中使用相同的硬件。與ASIC相比,此屬性使FPGA成為更通用的替代方案。

●高成本:構建ASIC是一個資本密集型的游戲。20 名工程師的全掩模 28nm ASIC 芯片設計通常需要花費 800 萬美元,而 30 名工程師的全掩模 5nm/4nm ASIC 設計通常需要花費 2500 萬美元。

●上市時間。ASIC的設計、生產和部署通常需要12到18個月甚至更長時間,這比FPGA/GPU要長得多。

第一個問題可以使用硬件中的一個框架來解決,該框架稱為指令集架構(Instruction-Set Architecture, ISA)。ISA是指硬件系統的抽象框架和設計,如CPU和硬件加速器。它表示處理器可以執行的一組基本指令和操作。這些指令包括算術運算、數據移動、邏輯運算、控制流和其他低級功能。使用ISA,硬件加速ZKP可以分為三層:

●方案層:各種ZK證明系統都在這一層,如Groth16和Plonk。頂層調用內核層來完成計算。

●核心層:核心層的任務是計算上層使用的不同函數。函數包括多標量乘法、數論傳遞、多項式求值和各種哈希函數。它依賴于指令層來執行計算。

●指令層:這一層是ISA,涵蓋了最基本的操作,包括算術運算、數據移動、邏輯運算和控制流。上述結構如下圖所示:

這個ISA結構提供了一個支持多個ZK系統和潛在更新的解決方案。可以使用ZK- ISA對AZK(用于ZK的ASIC)進行編程,以支持ZK系統的多功能性。

至于做ASIC的其他問題,這是由市場決定的。目前ZK相關項目的估值總計超過100億美元,我們認為花費大約1000萬美元來構建ASIC以提高ZK證明生成的效率是值得的。這種上市時間問題是所有ASIC設計所固有的。幸運的是,ASIC的供應鏈問題現在比以前好得多了。解決這個問題的唯一辦法是盡早開始,徹底預熱供應鏈。當ASIC問世時,它可以摧毀任何其他形式的ZK硬件。

ZKP具有促進可擴展和私有支付系統以及智能合約平臺的潛力,從而大大提高區塊鏈技術的可用性和安全性。確實,ZKP引入了歷史上阻礙其采用的管理費用。諸如巨大的計算和驗證成本,以及實現基于ZKP的系統的復雜性等因素,可能會對許多開發人員造成進入的障礙。盡管如此,ZKP領域正在進行的研究和開發正在解決這些挑戰,簡化這些技術在實踐中的實現和應用。

考慮到GPU在靈活性、易于部署和預期性能方面的優勢,我們相信,在ASIC技術出現之前,專注于GPU解決方案的公司更有可能在未來幾個月蓬勃發展。如果ASIC達到了優勢的規模和穩定性,它們可能成為優化算法的首選硬件。因此,ZKP有望在未來實現越來越先進和安全的區塊鏈系統中發揮關鍵作用。

MarsBit

媒體專欄

閱讀更多

金色財經 善歐巴

Chainlink預言機

白話區塊鏈

金色早8點

Odaily星球日報

歐科云鏈

深潮TechFlow

BTCStudy

Arcane Labs

Tags:ZKPZKSARKFPGZKP幣ZKS幣PolkamarketsFPG價格

Pol幣
晚間必讀5篇 | 亞馬遜NFT平臺即將上線 處于谷底的NFT市場會迎來復蘇嗎?_亞馬遜

1.Paradigm深度解讀Blur新推出的點對點NFT借貸協議Blend2023年五一勞動節當日,Blur聯合Paradigm推出點對點NFT借貸協議Blend.

1900/1/1 0:00:00
為什么 EigenLayer 讓我們興奮_GEN

地平線上似乎出現了一個新的“紀元”。在加密之旅中,每隔一段時間,開拓者就會發現一種新的原語,從而改變整個行業的格局.

1900/1/1 0:00:00
比特幣減半是什么?_BTC

比特幣 (BTC)在社交媒體和各個市場名聲鵲起,其中的原因有很多。 這種主流數字資產除了價格飆升和一些全球金融巨頭的大額市場投資外,還因比特幣減半事件為媒體爭相報道.

1900/1/1 0:00:00
PEPE再掀投機熱潮 下一個Meme Coin是什么?_COIN

近期的 PEPE 一直在話題熱榜上,改變了“不溫不火”的市場現狀,重新點燃了用戶心中靠 Crypto 一夜暴富的夢想.

1900/1/1 0:00:00
?BRC-721協議解析 增強比特幣NFT集合的安全性和真實性 ordinals生態系統的標準_ANI

作者:xiyu Twitter:@ohxiyu 一.背景 1.比特幣ordinals缺乏將項目分組到集合中的標準化方法,因為這依賴于特定的、通常集中的服務和錢包.

1900/1/1 0:00:00
別被大佬給騙了 誰說香港可以隨便發幣了?_區塊鏈

最近香港Web3.0大熱,熱到讓部分不太關注區塊鏈行業的朋友都開始有點蠢蠢欲動。按理說春末夏初,你稍微動下是可以的,但如果動的太多,可就容易扯淡了.

1900/1/1 0:00:00
ads