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

SAFE:一文了解FPGA和GPU加速零知識證明計算的優缺點_FPG幣

Author:

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

零知識證明技術應用越來越廣,隱私證明,計算證明,共識證明等等。在尋找更多更好的應用場景的同時,很多人逐步發現零知識證明證明性能是個瓶頸。Trapdoor Tech 團隊從 2019 年開始深入研究零知識證明技術,并一直探索高效的零知識證明加速方案。GPU 或者 FPGA 是目前市面上比較常見的加速平臺。本文從 MSM 的計算入手,分析 FPGA 和 GPU 加速零知識證明計算的優缺點。

ZKP 是擁有未來廣泛前景的技術。越來越多的應用開始采用零知識證明技術。但 ZKP 算法比較多,各種項目使用不同的 ZKP 算法。同時,ZKP 證明的計算性能比較差。本文詳細分析了 MSM 算法,橢圓曲線點加算法,蒙哥馬利乘法算法等等,并對比了 GPU 和 FPGA 在 BLS 12 _ 381 曲線點加的性能差別。總的來說,在 ZKP 證明計算方面,短期 GPU 優勢比較明顯,Throughput 高,性價比高,具有可編程性等等。FPGA 相對來說,功耗有一定的優勢。長期看,有可能出現適合 ZKP 計算的 FPGA 芯片,也可能為 ZKP 定制的 ASIC 芯片。

ZKP 是個零知識證明技術的統稱(Zero Knowledge Proof)。主要由兩種分類:zk-SNARK 以及 zk-STARK。zk-SNARK 目前常見的算法是 Groth 16 ,PLONK,PLOOKUP,Marlin 和 Halo/Halo 2 。zk-SNARK 算法的迭代主要是沿著兩條方向: 1/ 是否需要 trusted setup 2/ 電路結構的性能。zk-STARK 算法的優勢是毋需 trusted setup,但是驗證計算量是對數線性的。

比特幣波動指數昨日回升至52.92,單日漲幅4.94%:5月29日消息,由金融指數公司T3 Index聯合比特幣期權交易平臺LedgerX推出的BitVol(比特幣波動)指數昨日回升至52.92,相較于5月27日(50.43)單日漲幅4.94%。

注:BitVol指數衡量從可交易的比特幣期權價格中得出的30天預期隱含波動率。隱含波動率是指實際期權價格所隱含的波動率。它是利用B-S期權定價公式,將期權實際價格以及除波動率σ以外的其他參數代入公式而反推出的波動率。

期權的實際價格是由眾多期權交易者競爭而形成,因此,隱含波動率代表了市場參與者對于市場未來的看法和預期,從而被視為最接近當時的真實波動率。[2023/5/29 9:48:41]

就 zk-SNARK/zk-STARK 算法的應用來看,不同項目使用的零知識證明算法相對分散。zk-SNARK 算法應用中,因為 PLONK/Halo 2 算法是 universal(無需 trusted setup),應用可能越來越多。

以 PLONK 算法為例,剖析一下 PLONK 證明的計算量。

PLONK 證明部分的計算量由四部分組成:

Safe正式原生支持Celo主網:金色財經報道,Celo 社區論壇顯示,數字資產管理平臺 Safe(原 Gnosis Safe)正式原生支持 Celo 主網,Safe 的分叉版本 Celo Safe 上所有的現有功能將繼續在 Safe Global 上運行,Celo Safe 用戶可繼續通過 Safe {wallet} 應用程序管理保險箱。不過,并非所有在 Celo Safe 上創建的保險箱都與通過官方 Safe {wallet} 應用程序提供的最新功能兼容,用戶可在 Safe Global 網站創建新的保險箱。

此外,Safe 并不打算停止分叉版本 Celo Safe,因為 Celo Safe 同時支持 Celo 主網與 Alfajores 測試網,Safe Global 僅支持 Celo 主網,但不支持 Alfajores 測試網。因此,Safe 建議在主網上使用保險箱應使用 Safe Global,若在 Alfajores 測試網上使用保險箱可繼續使用 Safe Celo。[2023/4/21 14:18:57]

1/ MSM - Multiple Scalar Multiplication。MSM 經常用來計算多項式承諾。

2/ NTT 計算 - 多項式在點值和系數表示之間變換。

3/ Polynomial 計算 - 多項式加減乘除。多項式求值(Evaluation)等等。

Bernstein:MicroStrategy持有的BTC不一定會帶來集中化危險:金色財經報道,據Bernstein報告,比特幣價格上漲意味著MicroStrategy的資產負債表更強大,股票價格更高,更容易償還債務,而MicroStrategy不需要出售其持有的股票。MicroStrategy是否出售持有的BTC來償還債務,與加密貨幣的表現密切相關。Bernstein周三在一份研究報告中表示,該頭寸的規模不足以扭曲價格,但在下跌周期中確實會帶來情緒風險。[2023/4/19 14:13:45]

4/ Circuit Synthesize - 電路綜合。這部分的計算和電路的規模 / 復雜度有關。

Circuit Synthesize 部分的計算量一般來說判斷和循環邏輯比較多,并行度比較低,更適合 CPU 計算。通常來講,零知識證明加速一般指的是前三部分的計算加速。其中,MSM 的計算量相對來說最大,NTT 次之。

MSM(Multiple Scalar Multiplication)指的是給定一系列的橢圓曲線上的點和標量,計算出這些點加的結果對應的點。

比如說,給定一個橢圓曲線上的一系列的點:

Given a fixed set of Elliptic curve points from one specified curve:

數據:Alameda向FTX轉入約3000萬枚USDC:7月6日消息,PeckShield監測顯示,Alameda FTX Deposit錢包地址(0x83a127952d266A6eA306c40Ac62A4a70668FE3BD)向FTX轉入約3000萬枚USDC。[2022/7/6 1:54:56]

[G_ 1, G_ 2, G_ 3, ..., G_n]

以及隨機的系數:

and a randomly sampled finite field elements from specified scalar field:

[s_ 1, s_ 2, s_ 3, ..., s_n]

MSM is the calculation to get the Elliptic curve point Q:

Q = \sum_{i= 1 }^{n}s_i*G_i

行業普遍采用 Pippenger 算法對 MSM 計算進行優化。深入看看 Pippenger 算法的過程的示意圖:

公鏈項目Aptos發文介紹其研究方法論和愿景:6月7日消息,公鏈項目Aptos發布文章《Aptos研究愿景:前沿研究與世界級工程相遇》,介紹Aptos如何進行研究。Aptos首先確定阻礙其在Aptos區塊鏈及其周邊生態系統中實現性能、安全性和可用性的難題;然后將重點放在解決這些問題上,一直跟蹤工作進程,以推動重大的生產影響;在頂級場所(比如博客、會談和研討會)發布并慶祝所取得的成果。

Aptos相信,公開和直接的討論,甚至有時是激烈的辯論,是取得進步的最健康、最有效的方式。Aptos Labs的研究科學家將各自領域的基礎知識與其和工程師使用相關語言的能力相結合,愿意學習和成長,并遵循將項目交付完成的愿望,可能會在生產中實現并擁有代碼。[2022/6/7 4:07:34]

Pippenger 算法的計算過程分成兩步:

1/ Scalar 切分為 Windows。如果 Scalar 是 256 bits,并且一個 Window 是 8 bits,則所有的 Scalar 切分為 256/8 = 32 個 Window。每一層的 Window,采用一個「Buckets」臨時存放中間結果。GW_x 就是一層上的累加結果的點。計算 GW_x 也比較簡單,依次遍歷一層中的每個 Scalar,根據 Scalar 這層的值作為 Index,將對應的 G_x 加到相應的 Buckets 的位上。其實原理也比較簡單,如果兩個點加的系數相同,則先將兩個點相加后再做一次 Scalar 加,而不需要兩個點做兩次 Scalar 加后再累加。

2/ 每個 Window 計算出來的點,再通過 double-add 的方式進行累加,從而得到最后的結果。

Pippenger 算法也有很多變形優化算法。不管怎么說,MSM 算法的底層計算就是橢圓曲線上的點加。不同的優化算法,對應不同的點加個數。

你可以從這個網站看看具有「short Weierstrass」形式的橢圓曲線上點加的各種算法。

http://www.hyperelliptic.org/EFD/g 1 p/auto-shortw-jacobian-0.html#addition-madd-2007-bl

假設兩個點的 Projective 坐標分別為(x 1, y 1, z 1) 和 (x 2, y 2, z 2) ,則通過如下的計算公式可以計算出點加的結果 (x 3, y 3, z 3)。

詳細給出計算過程的原因是想表明整個計算過程絕大部分是整數運算。整數的位寬取決于橢圓曲線的參數。給出一些常見的橢圓曲線的位寬:

BN 256 - 256 bits

BLS 12 _ 381 - 381 bits

BLS 12 _ 377 - 377 bits

特別注意的是,這些整數運算是在模域上的運算。模加 / 模減相對來說簡單,重點看看模乘的原理和實現。

給定模域上的兩個值:x 和 y。模乘計算指的是 x*y mod p。注意這些整數的位寬是橢圓曲線的位寬。模乘的經典算法是蒙哥馬利乘法(Montgomery Muliplication)。在進行蒙哥馬利乘法之前,被乘數需要轉化為蒙哥馬利表示:

蒙哥馬利乘法計算公式如下:

蒙哥馬利乘法實現算法又有很多:CIOS (Coarsely Integrated Operand Scanning),FIOS(Finely Integrated Operand Scanning),以及 FIPS(Finely Integrated Product Scanning)等等。本文不深入介紹各種算法實現的細節,感興趣的讀者可以自行研究。

為了對比 FPGA 以及 GPU 的本身的性能差別,選擇最基本的算法實現方法:

簡單的說,模乘算法可以進一步分成兩種計算:大數乘法和大數加法。理解了 MSM 的計算邏輯的基礎上,可以選擇模乘的性能(Throughput)來對比 FPGA 和 GPU 的性能。

在這樣的 FPGA 設計下,可以估算出整個 VU 9 P 能提供的在 BLS 12 _ 381 橢圓曲線點加 Throughput。一個點加(add_mix 方式)大約需要 12 個模乘。FPGA 的系統時鐘為 450 M。

在同樣的模乘 / 模加算法下,采用同樣的點加算法,Nvidia 3090 的點加 Troughput(考慮到數據傳輸因素)超過 500 M/s。當然,整個計算涉及到多種算法,可能存在某些算法適合 FPGA,有些算法適合 GPU。采用一樣的算法對比的原因,想對比 FPGA 和 GPU 的核心計算能力。

基于上述的結果,總結一下 GPU 和 FPGA 在 ZKP 證明性能方面的比較:

越來越多的應用開始采用零知識證明技術。但 ZKP 算法比較多,各種項目使用不同的 ZKP 算法。從我們的實踐工程經驗來看,FPGA 是個選項,但是目前 GPU 是個性價比高選項。FPGA 偏好確定性計算,有 latency 以及功耗的優勢。GPU 可編程性高,有相對成熟的高性能計算的框架,開發迭代周期短,偏好需要 throughput 場景。

IOSG Ventures

企業專欄

閱讀更多

金色財經

SevenUp DAO

金色圖覽

LK Venture

金色薦讀

區塊律動BlockBeats

Tags:BSPNBSSAFEFPGbspt幣未來前景nbs幣官網SAFESTAR價格FPG幣

幣安app下載
ROO:Opside ZK-PoW V2 版本:多礦工場景下 ZKP計算可縮短至不到一分鐘_ROOM幣

Opside 是一個去中心化的ZK-RaaS (ZK-Rollup as a Service)平臺,也是業內領先的ZKP(零知識證明)挖礦網絡.

1900/1/1 0:00:00
GAME:什么是GameFi?_BGAME

區塊鏈游戲正在創造一種新的現狀——一種由開放經濟、用戶所有權和玩家是重要參與方這三個特點所定義的現狀。這些下一代游戲具有通證化的游戲內物品、角色和貨幣,使玩家能夠在彼此之間自由交易.

1900/1/1 0:00:00
MOS:為什么Cosmos治理更嚴謹和健康?參與者快速入門手冊_EVMOS

介紹 Cosmos生態系統因其“每秒戲劇”(DPS)而聞名,乍一看似乎不是一件好事。但如果你深入研究一下,你會發現這種戲劇的源頭——許多不同背景和不同目標的人都試圖引導Cosmos朝他們偏好的方.

1900/1/1 0:00:00
NCE:一文盤點LSDFi板塊10個協議_NAN

近期,LSDFi這個新興板塊受到業內聰明投資者的青睞,數據顯示,LSDFi 板塊總鎖定價值已經突破3.85億美元,下面是一些LSDFi協議盤點.

1900/1/1 0:00:00
ETH:金色早報 | 美國德克薩斯州通過兩項涉及加密挖礦的法案_區塊鏈工程專業學什么及就業方向

▌美國德克薩斯州通過兩項涉及加密挖礦的法案美國德克薩斯州通過兩項涉及加密挖礦的法案,而一項會對礦工產生不利影響的法案在委員會階段被阻止.

1900/1/1 0:00:00
以太坊:對話 Arbitrum 研究員 Patrick McCorry 如何去中心化 Rollup?_PathDAO

本期訪談的文字稿整理借助了 OpenAI Whisper 來進行轉錄,并在此基礎上進行了編譯。 Github 鏈接: https://github.com/openai/whisper 引介 我.

1900/1/1 0:00:00
ads