買比特幣 買比特幣
Ctrl+D 買比特幣
ads

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

Author:

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

我們要感謝PolygonZero團隊、Consensysgnark項目、PadoLabs和DelphinusLab團隊對本篇文章的寶貴評論和反饋。

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

「萬神殿Patheon」

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

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

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

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

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

英國貿易文件數字化或將使用區塊鏈技術:金色財經報道,英國政府表示,英國的一項貿易文件數字化舉措可能會利用加密技術,《2023年數字化貿易文件法》于7月20日正式成為法律,旨在推翻數百年歷史的商業法,允許以數字方式存儲和分發貿易文件,該法律將于今年秋天生效。一位英國政府發言人表示,該法案是技術中立的,如果符合可靠性測試,將允許使用區塊鏈技術。[2023/7/27 16:02:26]

我們的性能測試評估了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框架。

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

Mantle Network已在測試網啟動BIT到MNT的遷移:6月15日消息,Layer2解決方案Mantle Network在推特上宣布,已于6月9日完成測試網v0.4.0更新,本次更新后,Mantle Network測試網上的BIT已被重新命名為MNT(代幣合約保持不變),并且團隊已在Goerli測試網上部署了新的MNT合約和一個遷移合約。測試者可使用該遷移合約把Goerli BIT轉換為Goerli MNT。

開發人員需要在Etherscan上找到并鑄造MNT。部署在Mantle Network測試網上的任何dApp都需要進行相應的更改才能繼續運行最新的網絡版本。[2023/6/15 21:38:36]

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

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

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

請注意,這些性能測試結果僅適用于電路開發框架。我們計劃在未來發布一篇單獨的文章,對不同的zkVM和IR編譯器框架進行性能測試。

美國眾議員推出區塊鏈監管確定性法案:金色財經報道,美國眾議院多數黨黨鞭、美國眾議員Tom Emmer推出區塊鏈監管確定性法案,以確保加密領域的開發商和非托管服務提供商不被視為匯款人,并且不受與托管加密貨幣交易所相同級別的監管。

眾議員Emmer解釋稱,從本質上講,加密貨幣和區塊鏈技術并不容易融入政策制定者過去在制定法規時考慮的框架。長期以來,聯邦監管機構和立法者將區塊鏈生態系統塞進了毫無意義的法定定義中,它應該很簡單,如果你不保管消費者資金,你就不是匯款人。我的法案為區塊鏈社區提供了必要的確認。該法案將幫助美國在加密貨幣領域保持技術領先地位。[2023/3/28 13:30:18]

性能評測方法論

為了對這些不同的證明系統進行性能測試,我們計算了N字節數據的SHA-256哈希值,其中我們對N=64、128、...、64K進行了實驗。可以在此存儲庫(https://github.com/celer-network/zk-benchmark)中找到性能代碼和SHA-256電路配置。

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

證明生成時間

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

證明生成期間的平均CPU使用率百分比。

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

機器

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

Jack Dorsey旗下Block比特幣硬件錢包產品原型圖流出:1月7日消息,Jack Dorsey旗下比特幣公司Block透露會在“今年晚些時候”發布BTC硬件錢包,目前石頭形狀的產品原型圖已經流出。根據Block硬件負責人Jesse Dorogusker透露,這些“石頭”中會嵌入USB端口和指紋讀取器,而且還會配套一款移動APP,讓用戶“安全地擁有和管理他們的比特幣”。

Jack Dorsey此前在其社交媒體上暗示,這款硬件錢包的名稱可能會叫“Rocky”,與史泰龍主演電影《洛奇》同名。[2023/1/7 10:59:40]

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

MacbookM1Pro:10核@3.2Ghz,16GB內存

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

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

性能評測結果

約束數量

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

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

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

拜登簽署《通脹削減法案》 民主黨獲得期待已久的勝利:金色財經報道,美國總統喬·拜登周二正式簽署《通脹削減法案》,在11月中期選舉之前確定一項重大立法勝利。就在幾周前,該法案通過的機會似乎極為渺茫,但在參議院8月7日投票通過后,眾議院也于8月12日以220-207的投票結果通過了法案。兩院均無任何共和黨人投票支持它。拜登和民主黨人迫切需要這部法律,以及一系列其他立法上的勝利,來幫助提高民調數據,提高在11月中期選舉中保住兩院多數黨地位的希望。根據FiveThirtyEight的民調分析,拜登的支持率僅為40%,而55%的美國人不認同他的工作。[2022/8/17 12:29:36]

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

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

證明生成時間

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

對于SHA-256,Groth16框架生成證明的速度比Plonk框架快。這是因為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,Plonky2比Halo2快50%。如果我們在Plonky2中使用查找表實現SHA-256,我們應該期望Plonky2比Halo2更快,盡管Plonky2的證明尺寸更大。

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

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

另外需要注意的是,即使電路大小與原像大小成線性關系,由于O(nlogn)FFT,對于SNARKs的證明生成也是呈超線性增長的。

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

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

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

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

內存使用峰值

和分別顯示了在LinuxServer和MacbookM1Pro上生成證明期間的內存使用峰值。根據這些性能測試結果可以得出以下觀察結果:

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

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

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

CPU利用率

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

主要觀察結果如下:

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

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

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

結論及未來研究

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

Tags:ARKNARPLOLONPARK幣tonartsETHPLO幣ELONGD

火必下載
BASE:金色觀察 | 深扒Blur創始人“鐵山”:高中輟學賣T恤 曾仔細研究抖音運營拉新_BTCS價格

來源:金色財經記者JessyBlur的創始人TieshunRoquerre無疑是最近最火的加密人物,他于四百多天前創立的NFT交易所Blur,現如今已是NFT交易市場上交易量最大的交易所.

1900/1/1 0:00:00
NFT:盤點Sui生態首批20個「Builder Hero」獲獎項目_https://etherscan.io

今日凌晨,Sui公布了該生態「SuiBuilderHero」獎項的首批獲獎名單,該獎項旨在表彰那些基于?Sui網絡構建工具和應用.

1900/1/1 0:00:00
BYTE:加密做市商如何“操縱”市場?_BABYTETHER

撰寫:RektFencer編譯:深潮TechFlow你有沒有想過,做市商是如何操縱加密貨幣市場的?為什么暴漲暴跌的背后都有他們的身影?加密分析師RektFencer將在本文向你介紹加密貨幣做市商.

1900/1/1 0:00:00
Polygon:2023年zk賽道爆發 即將推出的Polygon zkEVM有多重要?_polygon幣官網

2月15日,以太坊第2層解決方案提供商Polygon終于公布了備受期待的擴展更新,其零知識以太坊虛擬機主網的測試版定于3月27日發布.

1900/1/1 0:00:00
加密貨幣:新聞周刊 | 香港特區政府發售首批代幣化綠色債券_加密貨幣是干什么用的呢

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

1900/1/1 0:00:00
CHA:ChatGPT兩個月引爆萬億新賽道 國內外有哪些AI玩家能突出重圍?_GPT

去年11月,OpenAI發布ChatGPT引爆全球對人工智能的廣泛關注,這一殺手級應用成為了眾人茶余飯后討論的話題,并在2個月內達到了1億月活用戶,成為了史上增長最快的消費者應用.

1900/1/1 0:00:00
ads