我們要感謝PolygonZero團隊、Consensysgnark項目、PadoLabs和DelphinusLab團隊對本篇文章的寶貴評論和反饋。
零知識證明開發框架評測平臺「萬神殿Patheon」
過去幾個月,我們投入了大量時間和精力,開發了利用zk-SNARK簡潔證明構建的前沿基礎設施。這個次世代創新平臺使開發者能夠構建前所未有的區塊鏈應用新范例。
在開發工作中,我們測試并使用了多種零知識證明(ZKP)開發框架。雖然這段旅程收獲頗豐,但我們也確實意識到,當新的開發者試圖找到最適合其特定用例和性能要求的框架時,多種多樣的ZKP框架通常會給他們帶來挑戰。考慮到這一痛點,我們認為需要一個能夠提供全面性能測試結果的社區評估平臺,這將極大地促進這些新應用的開發。
為了滿足這一需求,我們推出了零知識證明開發框架評測平臺「萬神殿Patheon」這一公益社區倡議。倡議的第一步將鼓勵社區分享各種ZKP框架的可復現性能測試結果。我們的最終目標是共同協作創建并維護一個廣受認可的測試平臺,評估低級電路開發框架、高級zkVM和編譯器,甚至硬件加速提供商。我們希望這一舉措能夠讓開發者們在選用框架時能有更多性能比較的參考,從而加快ZKP的推廣。同時,我們希望通過提供一組普遍可參考的性能測試結果,促進ZKP框架本身的升級和迭代。我們將大力投入這項計劃,并邀請所有志同道合的社區成員加入我們,共同為這項工作做出貢獻!
第一步:使用SHA-256對電路框架進行性能測試
CoffeeSwap宣布與加密貨幣交易所Gate.io達成戰略合作:據官方消息,CoffeeSwap宣布與加密貨幣交易所Gate.io達成戰略合作,這次合作將進一步提升CoffeeSwap的市場影響力和用戶體驗,為用戶帶來更多投資機會和優質服務。
CoffeeSwap表示,將繼續推動DeFi與NFT領域的創新發展,為用戶創造更加開放、安全和高效的金融生態系統。[2023/6/30 22:10:43]
在這篇文章中,我們邁出了構建ZKPPatheon的第一步,在一系列低級電路開發框架中使用SHA-256提供一組可復現的性能測試結果。雖然我們承認其他性能測試粒度和原語或許也是可行的,但我們選擇SHA-256是因為它適用于廣泛的ZKP用例,包括區塊鏈系統、數字簽名、zkDID等。另外值得一提的是,我們在自己的系統中也使用了SHA-256?,所以這對我們來說也很方便!
我們的性能測試評估了SHA-256在各種zk-SNARK和zk-STARK電路開發框架上的性能。通過比較,我們力求為開發者提供關于每個框架的效率和實用性的見解。我們的目標是,希望本次性能測試結果能夠為開發者在選擇最佳框架時提供參考,使之做出明智的決定。
Circomsnarkjs/rapidsnark:Circom是一種流行的DSL,用于編寫電路和生成R?1?CS約束,而snarkjs能夠為Circom生成Groth?16或Plonk證明。Rapidsnark也是Circom的證明器,它生成Groth?16證明,并且由于使用了ADX擴展,它通常比snarkjs快得多,并盡可能并行化證明生成。
人社部:探索推進社會保障卡加載數字人民幣支付功能:金色財經報道,人力資源社會保障部印發《數字人社建設行動實施方案》的通知,提出將建設部省聯動的人社區塊鏈基礎支撐服務平臺、電子印章系統、電子證照庫,實現全國共建共用、互通互認。利用5G、視頻、區塊鏈等技術,輔助遠程實現工傷事故調查、勞動能力鑒定。依托社會保障卡構建統一身份認證體系和支付結算模式,建立“區塊鏈+電子社保卡”個人信息授權使用機制,探索推進社會保障卡加載數字人民幣支付功能。[2023/6/28 22:05:34]
gnark:gnark是來自Consensys的綜合Golang框架,支持Groth?16、Plonk和許多更高級的功能。
Arkworks:Arkworks是一個用于zk-SNARKs的綜合Rust框架。
Halo?2(KZG):Halo?2是Zcash與Plonk的zk-SNARK實現。它配備了高度靈活的Plonkish算術,支持許多有用的原語,例如自定義網關和查找表。我們使用具有以太坊基金會和Scroll支持的KZG的Halo?2分叉。
Plonky?2?:Plonky?2是基于來自PolygonZero的PLONK和FRI技術的SNARK實現。Plonky?2使用小的Goldilocks字段并支持高效的遞歸。在我們的性能測試中,我們以100位推測的安全性為目標,并使用為性能測試工作產生最佳證明時間的參數。具體來說,我們使用了28Merkle查詢、?8的放大系數和16位工作量證明挑戰。此外,我們設置num_of_wires=60和num_routed_wires=60?。
數據:本周7種代幣將迎來解鎖,總計釋放1.37億美元:5月22日消息,Token Unlocks 數據顯示,本周 RON、AVAX 將迎來大額 Token 解鎖,其中 AVAX 5 月 28 日將解鎖價值 1.37 億美元 Token。
5 月 22 日 8 時,有 15,152,778 枚 ID(價值約 715 萬美元)解鎖,占總供應量的 0.758%。
5 月 24 日 22 時,將有 138,219 枚 EUL(價值約 27.6 萬美元)解鎖,占總供應量的 0.508%。
5 月 25 日 8 時,將有 4,657,534 枚 ACA(價值約 25.6 萬美元) 解鎖,占總供應量的 0.466%。
5 月 27 日 8 時,將有解鎖 14,571,969.03 枚 RON(價值約 1421 萬美元)解鎖,占總供應量的 1.457%。
5 月 27 日 21:59,將有 16,872,453 枚 YGG(價值約 302 萬美元)解鎖,占總供應量的 1.687%。
5 月 28 日 8 時,將有 9,541,800 枚 AVAX(價值約 1.37 億美元)解鎖,,占總供應量的 1.325%。[2023/5/22 15:17:43]
Starky:Starky是PolygonZero的高性能STARK框架。在我們的性能測試中,我們以100位推測的安全性為目標,并使用產生最佳證明時間的參數。具體來說,我們使用了90Merkle查詢、?2倍放大系數和10位工作量證明挑戰。
Minted和Fasset合作向企業提供代幣化貴金屬:金色財經報道,貴金屬平臺Minted在迪拜2023年金融科技峰會上宣布,通過與加密貨幣投資應用程序Fasset的合作,繼續致力于向全球企業提供貴金屬投資機會。Minted將向Fasset提供貴金屬在其新興市場上的使用權,此舉有望為Fasset的更多投資者提供投資貴金屬的機會。由于與Minted的戰略合作,Fasset提供了一系列的數字資產,包括加密貨幣、股票和現在的貴金屬。[2023/5/9 14:52:19]
下表總結了上述框架以及我們性能測試中使用的相關配置。這個列表絕不是詳盡的,我們還將在未來研究許多最先進的框架/技術。
請注意,這些性能測試結果僅適用于電路開發框架。我們計劃在未來發布一篇單獨的文章,對不同的zkVM和IR編譯器框架進行性能測試。
此存儲庫中找到性能代碼和SHA-256電路配置。
此外,我們使用以下性能指標對每個系統進行了性能測試:
證明生成時間
證明生成期間的內存使用峰值
證明生成期間的平均CPU使用率百分比。?
請注意,我們正在對證明大小和證明驗證成本做一些“隨意”的假設,因為這些方面可以通過在上鏈之前與Groth?16或KZG組合來減輕。
Linux服務器:?20核@?2.3GHz,?384?GB內存
MacbookM?1Pro:?10核@?3.2?Ghz,?16?GB內存
韓國互聯網巨頭Kakao旗下加密錢包Klip已作為獨立應用發布:金色財經消息,搭載在韓國即時通訊應用Kakao Talk內的加密錢包Klip已作為獨立應用軟件上線。Kakao子公司Ground X今天宣布推出Klip錢包的安卓版本和iOS版本,以吸引海外用戶并向全球擴展業務。此外,該應用程序還新增了NFT市場服務“Klip Drops”等多種功能。(News 1)[2022/7/25 2:36:09]
Linux服務器用于模擬CPU核數多、內存充裕的場景。而通常用于研發的MacbookM?1Pro擁有更強大的CPU,但內核較少。
我們啟用了可選的多線程,但我們沒有在此性能測試中使用GPU加速。我們計劃在未來進行?GPU性能測試。
約束數量
在我們繼續討論詳細的性能測試結果之前,首先通過查看每個證明系統中的約束數量來了解SHA-256的復雜性是很有用的。重要的是要注意不能直接比較不同算術方案中的約束數量。
下面的結果對應64?KB的原像尺寸。雖然結果可能因其他原像尺寸而異,但它們可以粗略地線性縮放。
Circom、gnark、Arkworks都使用相同的R?1?CS算法,計算64?KBSHA-256的R?1?CS約束數量大致在30?M到45?M之間。Circom、gnark和Arkworks之間的差異可能是由于配置差異造成的。
Halo?2和Plonky?2都使用Plonkish算術,其中行數范圍從2?^?22到2?^?23?。由于使用查找表,Halo?2的SHA-256實現效率比Plonky?2的高得多。
Starky使用AIR算法,其中執行跟蹤表需要2?^?16個轉換步驟。
對于SHA-256?,Groth?16框架生成證明的速度比Plonk框架快。這是因為SHA-256主要由位運算組成,其中線值為0或1?。對于Groth?16?,這減少了從橢圓曲線標量乘法到橢圓曲線點加法的大部分計算。但是,連線值并不直接用于Plonk的計算,因此SHA-256中的特殊連線結構不會減少Plonk框架中所需的計算量。
在所有Groth?16框架中,gnark和rapidsnark比Arkworks和snarkjs快5到10倍。這要歸功于它們利用多個內核并行化生成證明的卓越能力。Gnark比rapidsnark快25%?。
對于Plonk框架,當使用>=4?KB的較大原像尺寸時,Plonky?2的SHA-256比Halo?2的慢50%?。這是因為Halo?2的實現主要使用查找表來加速按位運算,導致行數比Plonky?2少2倍。但是,如果我們比較具有相同行數的Plonky?2和Halo?2?,Plonky?2比Halo?2快50%?。如果我們在Plonky?2中使用查找表實現SHA-256?,我們應該期望Plonky?2比Halo?2更快,盡管Plonky?2的證明尺寸更大。
另一方面,當輸入原像尺寸較小時,由于查找表的固定設置成本占大部分約束,Halo?2比Plonky?2?慢。然而,隨著原像的增加,Halo?2的性能變得更具競爭力,對于高達2?KB的原像大小,其證明生成時間保持不變,如圖所示,其幾乎呈線性擴展。
正如預期的那樣,Starky的證明生成時間比任何SNARK框架都短得多(?5?倍-50?倍),但這是以更大的證明大小為代價的。
另外需要注意的是,即使電路大小與原像大小成線性關系,由于O(nlogn)FFT,對于SNARKs的證明生成也是呈超線性增長的。
我們還在MacbookM?1Pro上進行了證明生成時間性能測試,如所示。但是,需要注意的是,由于缺乏對arm?64架構的支持,rapidsnark未包含在該性能測試中。為了在arm?64上使用snarkjs,我們必須使用webassembly生成見證,這比Linux服務器上使用的C見證生成要慢。
在MacbookM?1Pro上運行性能測試時還有幾個額外的觀察結果:
除了Starky之外,所有SNARK框架在原像尺寸變大時都會遇到內存不足(OOM)錯誤或使用交換內存現象。具體來說,Groth?16框架在原像尺寸>=8?KB時就開始使用交換內存,而gnark在原像尺寸>=64?KB時出現內存不足。當原像尺寸>=32?KB時,Halo?2遇到了內存限制。當原像尺寸>=8?KB時,Plonky?2開始使用交換內存。
基于FRI的框架在MacbookM?1Pro上比在Linux服務器上快大約60%?,而其他框架在兩臺機器上面的證明時間相似。因此即使在Plonky?2中沒有使用查找表,它在MacbookM?1Pro上實現了與Halo?2幾乎相同的證明時間。主要原因是MacbookM?1Pro擁有更強大的CPU,但內核更少。FRI主要進行哈希運算,對CPU時鐘周期比較敏感,但并行性不如KZG或Groth?16?。
在所有SNARK框架中,rapidsnark是內存效率最高的。我們還看到,由于查找表的固定設置成本,當原像尺寸較小時,Halo?2使用更多內存,但當原像尺寸較大時,整體消耗的內存較少。
Starky的內存效率比SNARK框架高10倍以上。部分原因是它使用了更少的行。
應該注意的是,由于使用交換內存,原像尺寸變大,因此MacbookM?1Pro上的內存使用量峰值保持相對平穩。
Gnark和rapidsnark在Linux服務器上表現出最高的CPU利用率,表明它們能夠有效地使用多核且并行化生成證明。Halo?2也展現了良好的并行化性能。
大多數框架在Linux服務器上的CPU利用率是在MacbookProM?1的2倍,只有snarkjs例外。
盡管最初預計基于FRI的框架可能難以有效地使用多核,但它們在我們的性能測試中的表現并不比某些Groth?16或KZG框架差。在具有更多內核的機器上,CPU利用率是否會有差異還有待觀察。?
結論及未來研究
這篇文章全面比較了SHA-256在各種zk-SNARK和zk-STARK開發框架上的性能測試結果。通過比較,我們深入了解了每種框架的效率和實用性,以期可以幫助需要為?SHA-256操作生成簡潔證明的開發者。我們發現Groth?16框架在生成證明方面比Plonk框架更快。Plonkish算術化中的查找表在使用較大的原像尺寸時顯著減少了SHA-256的約束和證明時間。此外,gnark和rapidsnark展示了利用多核以并行化運作的出色能力。另一方面,Starky的證明生成時間要短得多,但代價是證明大小要大得多。在內存效率方面,rapidsnark和Starky優于其他框架。
作為構建零知識證明評測平臺「萬神殿Patheon」的第一步,我們承認本次性能測試結果遠不足以成為最終我們希望構建的一個綜合測試平臺。我們歡迎并樂于接受反饋和批評,并邀請所有人為這項倡議做出貢獻,以便開發者更容易、低門檻地使用零知識證明。我們也愿意為個人獨立貢獻者提供資助,以支付大規模性能測試的計算資源成本。我們希望可以共同提高ZKP的效率和實用性,更為廣泛地造福社區。
最后,我們要感謝PolygonZero團隊、Consensys的gnark團隊、PadoLabs以及DelphinusLab團隊,感謝他們對性能測試結果的寶貴審查和反饋。
在CoinGecko的加密貨幣列表中排名第28位的Filecoin(FIL)一直受益于近期市場情緒的轉變。今天的市場數據顯示,市場頂級山寨幣以太坊在每日時間框架內上漲了1%.
1900/1/1 0:00:00什么是Liquity? Liquity是利率固定的、無治理的、無息借貸協議,用戶可抵押ETH借出穩定幣LUSD,而無需支付借貸利息.
1900/1/1 0:00:002?月?15?日凌晨,NFT交易平臺?Blur?進行了第一輪空投,向超?12?萬地址共空投?3.6?億枚代幣,有超?12?萬地址.
1900/1/1 0:00:007:00-12:00關鍵詞:幣安、KinshipVentures、FTX、PROOF1.美SEC主席發文稱正起草新規則.
1900/1/1 0:00:00尊敬的XT.COM用戶:LUNC錢包升級維護已完成,XT.COM現已恢復LUNC鏈上代幣的充值與提現業務.
1900/1/1 0:00:00該協議旨在減少中介機構并實現跨鏈快速簡便的資產交換。 gz呺Web3團子 在無數區塊鏈和有趣的協議和項目的世界中,互操作性仍然是一個長期存在的問題.
1900/1/1 0:00:00