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

萬神殿 Patheon:零知識證明開發框架評測平臺_NAR

Author:

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

我們要感謝 Polygon Zero 團隊、Consensys gnark 項目、Pado Labs 和 Delphinus Lab 團隊對本篇文章的寶貴評論和反饋。

零知識證明開發框架評測平臺

「萬神殿 Patheon」

過去幾個月,我們投入了大量時間和精力,開發了利用 zk-SNARK 簡潔證明構建的前沿基礎設施。這個次世代創新平臺使開發者能夠構建前所未有的區塊鏈應用新范例。

在開發工作中,我們測試并使用了多種零知識證明 (ZKP) 開發框架。雖然這段旅程收獲頗豐,但我們也確實意識到,當新的開發者試圖找到最適合其特定用例和性能要求的框架時,多種多樣的 ZKP 框架通常會給他們帶來挑戰。考慮到這一痛點,我們認為需要一個能夠提供全面性能測試結果的社區評估平臺,這將極大地促進這些新應用的開發。

為了滿足這一需求,我們推出了零知識證明開發框架評測平臺「萬神殿 Patheon」 這一公益社區倡議。倡議的第一步將鼓勵社區分享各種 ZKP 框架的可復現性能測試結果。我們的最終目標是共同協作創建并維護一個廣受認可的測試平臺,評估低級電路開發框架、高級 zkVM 和編譯器,甚至硬件加速提供商。我們希望這一舉措能夠讓開發者們在選用框架時能有更多性能比較的參考,從而加快 ZKP 的推廣。同時,我們希望通過提供一組普遍可參考的性能測試結果,促進 ZKP 框架本身的升級和迭代。我們將大力投入這項計劃,并邀請所有志同道合的社區成員加入我們,共同為這項工作做出貢獻!

第一步:使用 SHA-256 對電路框架進行性能測試

在這篇文章中,我們邁出了構建 ZKP Patheon 的第一步,在一系列低級電路開發框架中使用 SHA-256 提供一組可復現的性能測試結果。雖然我們承認其他性能測試粒度和原語或許也是可行的,但我們選擇 SHA-256 是因為它適用于廣泛的 ZKP 用例,包括區塊鏈系統、數字簽名、zkDID 等。另外值得一提的是,我們在自己的系統中也使用了 SHA-256,所以這對我們來說也很方便!?

比特幣期權交易量、CME 未平倉合約創至歷史新高:金色財經報道,在銀行業危機和比特幣反彈的背景下,CME 的比特幣期權交易量和未平倉合約達到歷史最高水平。?未平倉合約總數本月達到 13 億美元,自 2023 年初以來增長了 67%。比特幣期權的交易量同樣活躍,從上個月的 8.32 億美元躍升至 16.7 億美元,之前的全1 月份的歷史最高點為 11 億美元。?

Deribit 首席商務官 Luuk Strijers表示,銀行業的不確定性和比特幣作為對沖工具的功能正在導致其價格上漲。因此,人們正在為進一步上漲做準備,交易員買入看跌期權(以特定價格賣出的期權)以防止大幅拋售。[2023/4/1 13:38:25]

我們的性能測試評估了 SHA-256 在各種 zk-SNARK 和 zk-STARK 電路開發框架上的性能。通過比較,我們力求為開發者提供關于每個框架的效率和實用性的見解。我們的目標是,希望本次性能測試結果能夠為開發者在選擇最佳框架時提供參考,使之做出明智的決定。

證明系統

近年來,我們觀察到零知識證明系統激增。跟上該領域所有激動人心的進步是具有挑戰性的,我們根據成熟度和開發者采用情況精心挑選了以下證明系統作為測試對象。我們的目標是提供不同前端/后端組合的代表性樣本。

Circom + snarkjs / rapidsnark: Circom 是一種流行的 DSL,用于編寫電路和生成 R1CS 約束,而 snarkjs 能夠為 Circom 生成 Groth16 或 Plonk 證明。Rapidsnark 也是 Circom 的證明器,它生成 Groth16 證明,并且由于使用了 ADX 擴展,它通常比 snarkjs 快得多,并盡可能并行化證明生成。

gnark: gnark 是來自 Consensys 的綜合 Golang 框架,支持 Groth16、Plonk 和許多更高級的功能。

Arkworks: Arkworks 是一個用于 zk-SNARKs 的綜合 Rust 框架。

NFT項目Meebits社區推出“MeeKit”構建工具:金色財經報道,NFT項目Meebits 社區、同時也是BAYC成員Bailey Tattoo在社交媒體宣布推出“MeeKit”構建工具MeeKit Beta V2,可支持用戶自主創建Meebits NFT渲染,以及用于幫助使用Meebit構建場景,據悉工具包中有一個名為“Booster Pack”的附加包以支持自定義用戶場景。另據NFTGo數據顯示,當前Meebits地板價為3 ETH,當前市值約為2.5億美元,交易總額達到5.2325億美元。[2023/3/19 13:13:26]

Halo2 (KZG): Halo2 是 Zcash 與 Plonk 的 zk-SNARK 實現。它配備了高度靈活的 Plonkish 算術,支持許多有用的原語,例如自定義網關和查找表。我們使用具有以太坊基金會和 Scroll 支持的 KZG 的 Halo2 分叉。

Plonky2: Plonky2 是基于來自 Polygon Zero 的 PLONK 和 FRI 技術的 SNARK 實現。Plonky2 使用小的 Goldilocks 字段并支持高效的遞歸。在我們的性能測試中,我們以 100 位推測的安全性為目標,并使用為性能測試工作產生最佳證明時間的參數。具體來說,我們使用了 28 Merkle 查詢、8 的放大系數和 16 位工作量證明挑戰。此外,我們設置 num_of_wires = 60 和 num_routed_wires = 60。

Starky: Starky 是 Polygon Zero 的高性能 STARK 框架。在我們的性能測試中,我們以 100 位推測的安全性為目標,并使用產生最佳證明時間的參數。具體來說,我們使用了 90 Merkle 查詢、2 倍放大系數和 10 位工作量證明挑戰。

下表總結了上述框架以及我們性能測試中使用的相關配置。這個列表絕不是詳盡的,我們還將在未來研究許多最先進的框架/技術(例如,Nova、GKR、Hyperplonk)。

美聯儲卡什卡利:對美聯儲的數字美元持懷疑態度:金色財經報道,美聯儲卡什卡利表示,美聯儲在提高金融包容性方面有很多工作要做;通貨緊縮肯定比通貨膨脹更糟糕;對美聯儲的數字美元持懷疑態度。[2022/10/20 16:30:57]

請注意,這些性能測試結果僅適用于電路開發框架。我們計劃在未來發布一篇單獨的文章,對不同的 zkVM(例如,Scroll、Polygon zkEVM、Consensys zkEVM、zkSync、Risc Zero、zkWasm)和 IR 編譯器框架(例如,Noir、zkLLVM)進行性能測試。

性能評測方法論

為了對這些不同的證明系統進行性能測試,我們計算了 N 字節數據的 SHA-256 哈希值,其中我們對 N = 64、128、...、64K 進行了實驗(Starky 是一個例外,其中電路重復 SHA-256 固定 64 字節輸入的計算,但保持相同的消息塊總數)。可以在此存儲庫(https://github.com/celer-network/zk-benchmark)中找到性能代碼和 SHA-256 電路配置。

此外,我們使用以下性能指標對每個系統進行了性能測試:

證明生成時間(包括見證生成時間)

證明生成期間的內存使用峰值

證明生成期間的平均 CPU 使用率百分比。(該指標反映了證明生成過程中的并行化程度)

請注意,我們正在對證明大小和證明驗證成本做一些“隨意”的假設,因為這些方面可以通過在上鏈之前與 Groth16 或 KZG 組合來減輕。

機器

我們在兩臺不同的機器上進行了性能測試:

Linux 服務器:20 核 @2.3 GHz,384GB 內存

Macbook M1 Pro:10 核 @3.2Ghz,16GB 內存

比特幣全網未確認交易數量為11325筆:金色財經報道,BTC.com數據顯示,目前比特幣全網未確認交易數量為11325筆,全網算力為229.88 EH/s,24小時交易速率為3.35交易/s,目前全網難度為31.36T,預測下次難度上調2.51%至32.15 T,距離調整還剩10天20小時。[2022/10/1 18:36:37]

Linux 服務器用于模擬 CPU 核數多、內存充裕的場景。而通常用于研發的 Macbook M1 Pro 擁有更強大的 CPU,但內核較少。

我們啟用了可選的多線程,但我們沒有在此性能測試中使用 GPU 加速。我們計劃在未來進行GPU 性能測試。

性能評測結果

約束數量

在我們繼續討論詳細的性能測試結果之前,首先通過查看每個證明系統中的約束數量來了解 SHA-256 的復雜性是很有用的。重要的是要注意不能直接比較不同算術方案中的約束數量。

下面的結果對應 64KB 的原像尺寸。雖然結果可能因其他原像尺寸而異,但它們可以粗略地線性縮放。

Circom、gnark、Arkworks 都使用相同的 R1CS 算法,計算 64KB SHA-256 的 R1CS 約束數量大致在 30M 到 45M 之間。Circom、gnark 和 Arkworks 之間的差異可能是由于配置差異造成的。

Halo2 和 Plonky2 都使用 Plonkish 算術,其中行數范圍從 2^22 到 2^23。由于使用查找表,Halo2 的 SHA-256 實現效率比 Plonky2 的高得多。

Starky 使用 AIR 算法,其中執行跟蹤表需要 2^16 個轉換步驟。

證明生成時間

[圖 1] 使用 Linux 服務器測試了 SHA-256 的每個框架在各種原圖像尺寸上的證明生成時間。我們可以得到以下發現:

歐洲央行管委諾特:市場對9月份加息的定價并非不明智,傾向于加息75個基點:8月30日消息,歐洲央行管委諾特表示,中性利率可能不足以解決通脹高企問題,市場對9月份加息的定價并非不明智,同時表示,傾向于加息75個基點,但對繼續討論持開放態度,將于今年晚些時候討論(縮減)資產負債表的問題。他認為,縮表可能是由于資產購買計劃再投資不足,任何縮表進程都將是漸進的。

此外,諾特還表示,2023年的通脹可能會明顯高于目標,今年晚些時候經濟放緩是“不可避免的”,可以預期在經濟放緩的初始階段會出現勞動力囤積現象。(金十)[2022/8/30 12:58:16]

對于 SHA-256,Groth16 框架(rapidsnark、gnark 和 Arkworks)生成證明的速度比 Plonk 框架(Halo2 和 Plonky2)快。這是因為 SHA-256 主要由位運算組成,其中線值為 0 或 1。對于 Groth16,這減少了從橢圓曲線標量乘法到橢圓曲線點加法的大部分計算。但是,連線值并不直接用于 Plonk 的計算,因此 SHA-256 中的特殊連線結構不會減少 Plonk 框架中所需的計算量。

在所有 Groth16 框架中,gnark 和 rapidsnark 比 Arkworks 和 snarkjs 快 5 到 10 倍。這要歸功于它們利用多個內核并行化生成證明的卓越能力。Gnark 比 rapidsnark 快 25%。

對于 Plonk 框架,當使用 >= 4KB 的較大原像尺寸時,Plonky2 的 SHA-256 比 Halo2 的慢 50%。這是因為 Halo2 的實現主要使用查找表來加速按位運算,導致行數比 Plonky2 少 2 倍。但是,如果我們比較具有相同行數的 Plonky2 和 Halo2(例如,Halo2 中超過 2KB 的 SHA-256 與 Plonky2 中超過 4KB 的 SHA-256),Plonky2 比 Halo2 快 50%。如果我們在 Plonky2 中使用查找表實現 SHA-256,我們應該期望 Plonky2 比 Halo2 更快,盡管 Plonky2 的證明尺寸更大。

另一方面,當輸入原像尺寸較小(<=512 字節)時,由于查找表的固定設置成本占大部分約束,Halo2 比 Plonky2(和其他框架)慢。然而,隨著原像的增加,Halo2 的性能變得更具競爭力,對于高達 2KB 的原像大小,其證明生成時間保持不變,如圖所示,其幾乎呈線性擴展。

正如預期的那樣,Starky 的證明生成時間比任何 SNARK 框架都短得多 (5倍-50倍),但這是以更大的證明大小為代價的。

另外需要注意的是,即使電路大小與原像大小成線性關系,由于 O(nlogn) FFT,對于 SNARKs 的證明生成也是呈超線性增長的(盡管由于對數刻度,這一現象在圖表上并不明顯)。

我們還在 Macbook M1 Pro 上進行了證明生成時間性能測試,如 [圖 2] 所示。但是,需要注意的是,由于缺乏對 arm64 架構的支持,rapidsnark 未包含在該性能測試中。為了在 arm64 上使用 snarkjs,我們必須使用 webassembly 生成見證,這比 Linux 服務器上使用的 C++ 見證生成要慢。

在 Macbook M1 Pro 上運行性能測試時還有幾個額外的觀察結果:

除了 Starky 之外,所有 SNARK 框架在原像尺寸變大時都會遇到內存不足 (OOM) 錯誤或使用交換內存(導致證明時間變慢)現象。具體來說,Groth16 框架(snarkjs、gnark、Arkworks)在原像尺寸>= 8KB 時就開始使用交換內存,而 gnark 在原像尺寸>= 64KB 時出現內存不足。當原像尺寸>= 32KB 時,Halo2 遇到了內存限制。當原像尺寸>= 8KB 時,Plonky2 開始使用交換內存。

基于 FRI 的框架(Starky 和 Plonky2)在 Macbook M1 Pro 上比在 Linux 服務器上快大約 60%,而其他框架在兩臺機器上面的證明時間相似。因此即使在 Plonky2 中沒有使用查找表,它在 Macbook M1 Pro 上實現了與 Halo2 幾乎相同的證明時間。主要原因是 Macbook M1 Pro 擁有更強大的 CPU,但內核更少。FRI 主要進行哈希運算,對 CPU 時鐘周期比較敏感,但并行性不如 KZG 或 Groth16。

內存使用峰值

[圖 3] 和 [圖 4] 分別顯示了在 Linux Server 和 Macbook M1 Pro 上生成證明期間的內存使用峰值。根據這些性能測試結果可以得出以下觀察結果:

在所有 SNARK 框架中,rapidsnark 是內存效率最高的。我們還看到,由于查找表的固定設置成本,當原像尺寸較小時,Halo2 使用更多內存,但當原像尺寸較大時,整體消耗的內存較少。

Starky 的內存效率比 SNARK 框架高 10 倍以上。部分原因是它使用了更少的行。

應該注意的是,由于使用交換內存,原像尺寸變大,因此 Macbook M1 Pro 上的內存使用量峰值保持相對平穩。

CPU 利用率

我們通過測量 SHA-256 在 4KB 原像輸入的證明生成期間的平均 CPU 利用率來評估每個證明系統的并行化程度。下表顯示了 Linux Server(20 核)和 Macbook M1 Pro(10 核)上的平均 CPU 利用率(括號中為每個內核的平均利用率 ) 。

主要觀察結果如下:

Gnark 和 rapidsnark 在 Linux 服務器上表現出最高的 CPU 利用率,表明它們能夠有效地使用多核且并行化生成證明。Halo2 也展現了良好的并行化性能。

大多數框架在 Linux 服務器上的 CPU 利用率是在 Macbook Pro M1 的 2 倍,只有 snarkjs 例外。

盡管最初預計基于 FRI 的框架(Plonky2 和 Starky)可能難以有效地使用多核,但它們在我們的性能測試中的表現并不比某些 Groth16 或 KZG 框架差。在具有更多內核(例如 100 個內核)的機器上,CPU 利用率是否會有差異還有待觀察。

結論及未來研究

這篇文章全面比較了 SHA-256 在各種 zk-SNARK 和 zk-STARK 開發框架上的性能測試結果。通過比較,我們深入了解了每種框架的效率和實用性,以期可以幫助需要為SHA-256 操作生成簡潔證明的開發者。我們發現 Groth16 框架(例如 rapidsnark、gnark)在生成證明方面比 Plonk 框架(例如 Halo2、Plonky2)更快。Plonkish 算術化中的查找表在使用較大的原像尺寸時顯著減少了 SHA-256 的約束和證明時間。此外,gnark 和 rapidsnark 展示了利用多核以并行化運作的出色能力。另一方面,Starky 的證明生成時間要短得多,但代價是證明大小要大得多。在內存效率方面,rapidsnark 和 Starky 優于其他框架。

金色財經 善歐巴

金色早8點

Odaily星球日報

歐科云鏈

Arcane Labs

深潮TechFlow

MarsBit

BTCStudy

澎湃新聞

Tags:ARKNARLONPLOStark ChainGENARTElon Doge CEOPlotX

瑞波幣
GameFi 2022年度榜單暨2023年展望報告_AME

過去三年,Web3行業見證了GameFi生態的繁榮,游戲品類和數量快速增長。SparkX 作為 GameFi開發者社區,長期與廣大從業者、愛好者共同關注 GameF.

1900/1/1 0:00:00
上海升級推遲下的板塊機會:L2 頭部生態的 DeFi “內卷”_ROLL

上海升級推遲下的板塊機會:L2 頭部生態的 DeFi “內卷”L2 是目前討論熱度最高的賽道之一.

1900/1/1 0:00:00
社交媒體新時代:Nostr 為何重要?_OST

撰文:Jameson Lopp編譯:Peng SUN,Foresight News一項新技術看似毫無征兆地自發出現,但實際上是多位科學家數十年研究和開發的結晶.

1900/1/1 0:00:00
2023年加密賽道全景展望 10億用戶在哪爆發_EFI

2018 年 7 月,萬向集團董事長肖風博士在一次演講中提到:“區塊鏈行業有可能出現 5 萬億級別的公司”.

1900/1/1 0:00:00
新聞周刊 | 比特幣市值超過Visa_BASE

金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、礦業信息、項目動態、技術進展等行業動態。本文是其中的新聞周刊,帶您一覽本周區塊鏈行業大事.

1900/1/1 0:00:00
以太坊升級權益證明 為什么比特幣不能?_NFT

文章作者:Amy Castorarchive要使臭名昭著的能源消耗型加密貨幣的效率大大提高,沒有任何技術障礙,只是一個社會障礙。去年,以太坊走向綠色環保路線.

1900/1/1 0:00:00
ads