零知識證明技術應用越來越廣,隱私證明,計算證明,共識證明等等。在尋找更多更好的應用場景的同時,很多人逐步發現零知識證明證明性能是個瓶頸。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,但是驗證計算量是對數線性的。
6名法學教授提交法庭之友簡報,反駁SEC在針對Coinbase案中的“投資合同”理論:8月13日消息,加密貨幣律師James Murphy(又名MetaLawMan)在推特上表示,耶魯大學、芝加哥大學、加州大學洛杉磯分校、福特漢姆大學、波士頓大學和威德納大學的法學教授近日提交了一份法庭之友簡報以支持Coinbase,徹底粉碎了美國SEC的“投資合同”理論。
該法庭之友簡報追溯了1933年聯邦證券法通過之前、期間和之后“投資合同”含義的歷史。以下是學者們的結論:
1. “到1933年,各州法院已經形成了一個標準,將‘投資合同’一詞解釋為一種合同安排,使投資者有權獲得賣方日后收入、利潤或資產的合同份額。”
2. 在1946年Howey案判決之后,“(投資合同)的共同主線仍然存在于……投資者必須因其投資而被承諾對企業的收入、利潤或資產享有持續的合同權益。”
3.“最高法院認定的每一份‘投資合同’都涉及一項授予企業剩余股份的合同承諾。”
Murphy總結道:“在我看來,這份法庭之友簡報為SEC的論點提供了致命一擊,即二級市場上的加密代幣交易是投資合同。”
昨日消息,包括區塊鏈協會(Blockchain Association)、加密創新委員會(Crypto Council for Innovation)、數字商務商會(Chamber of Digital Commerce)、DeFi教育基金(DeFi Education Fund)、進步商會(Chamber of Progress)、消費者技術協會(Consumer Technology Association)在內的游說組織、a16z crypto和Paradigm等風險投資機構以及六名學者總共提交了六份簡報(不包括美參議員Cynthia Lummis的簡報)。[2023/8/13 16:22:59]
就 zk-SNARK/zk-STARK 算法的應用來看,不同項目使用的零知識證明算法相對分散。zk-SNARK 算法應用中,因為 PLONK/Halo 2 算法是 universal(無需 trusted setup),應用可能越來越多。
HBAR基金會與Lumos Labs合作推出第二版Hatch Web3加速器:3月6日消息,HBAR基金會與元宇宙開發者平臺工作室LumosLabs合作推出Hedera第二版HatchWeb3加速器,將對早期初創公司和在Hedera上構建的創新的Web3項目開放。此次加速器為期五個月,重點關注可持續性、金融科技、加密經濟和元宇宙。
入圍初創公司將經歷訓練營階段,以在Hedera網絡上構建或完善其Web3解決方案。獲勝者將獲得15萬美元獎金,并提供專家指導、生態系統支持和進入市場支持。HatchWeb 3加速器將于4月30日之前在印度各地開放注冊。[2023/3/6 12:44:13]
以 PLONK 算法為例,剖析一下 PLONK 證明的計算量。
PLONK 證明部分的計算量由四部分組成:
1/ MSM - Multiple Scalar Multiplication。MSM 經常用來計算多項式承諾。
2/ NTT 計算 - 多項式在點值和系數表示之間變換。
3/ Polynomial 計算 - 多項式加減乘除。多項式求值(Evaluation)等等。
Sui生態域名服務SuiNS完成pre-seed輪融資,具體金額暫未披露:10月14日消息,Sui生態域名服務Sui Name Service(SuiNS)完成pre-seed輪融資,Mysten Labs參投,具體金額暫未披露。
MVP DApp預計11月在Sui上發布,用戶將能夠體驗功能并提供反饋,屆時會建立機制和激勵框架來阻止或消除域名搶注者,并且沒有白名單或優惠待遇。同時團隊正在建立一個拍賣合約,允許任何人同時參與域名注冊拍賣,此外SuiNS團隊將與既定協議和主要企業合作,以確保商標和已知實體(以太坊、Solana等)在平臺上保留域名。[2022/10/14 14:27:28]
4/ Circuit Synthesize - 電路綜合。這部分的計算和電路的規模 / 復雜度有關。
Circuit Synthesize 部分的計算量一般來說判斷和循環邏輯比較多,并行度比較低,更適合 CPU 計算。通常來講,零知識證明加速一般指的是前三部分的計算加速。其中,MSM 的計算量相對來說最大,NTT 次之。
MSM(Multiple Scalar Multiplication)指的是給定一系列的橢圓曲線上的點和標量,計算出這些點加的結果對應的點。
比如說,給定一個橢圓曲線上的一系列的點:
Given a fixed set of Elliptic curve points from one specified curve:
加拿大安大略省證券委員會:PhenoFX、Kucoin等公司未在安大略省注冊:8月3日消息,加拿大安大略省證券委員會(OSC)警告安大略省投資者,該省有多個公司未在安大略省注冊從事證券交易或提供咨詢服務,包括PhenoFX、Freedom Finances、Virtual-FXtrade Limited、Smart Trade Group、CAPFM、GMGroup.pro、Kucoin、Crestswiftrade.com、trustfxcores / TrustfxCores.com、FX-BTC Trade。[2022/8/3 2:55:27]
[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
OpenSea發布收藏卡更新、收藏頁最佳報價等新功能:金色財經報道,據OpenSea官方社交媒體賬號披露,OpenSea現已推出個人資料頁面收藏卡更新、收藏頁最佳報價(在NFT集合頁面上顯示最高報價和其他頂級指標)、以及活動Mint價格(在活動源中顯示 Polygon、Klaytn 和 以太坊鑄幣活動的價格)三項新功能。[2022/7/11 2:06:03]
行業普遍采用 Pippenger 算法對 MSM 計算進行優化。深入看看 Pippenger 算法的過程的示意圖:
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
在剛過去的黑山以太坊 EDCON 大會上,ZK 成了最火熱的話題。從 19 號到 23 號整整 5 天的時間里,無論是個人演講還是圓桌 Pannel,嘉賓們的話題大都圍繞 ZK Rollup、z.
1900/1/1 0:00:00上周和朋友約了從沈陽出發一起拜訪幾座遼塔,到了沈陽發現沒帶遮陽帽,緊急跑去小河沿早市買了一頂。早市帽以山寨貨為主,有一些質量尚可,但我實在不想頂著一個ADLDAS出門,最終選了它.
1900/1/1 0:00:00作者:Amy Bainbridge,Sunil Jagtiani,Bloomberg;編譯:松雪,金色財經據知情人士透露,澳大利亞金融市場監管機構搜查了幣安的辦公室.
1900/1/1 0:00:00如果要問最近NFT圈有哪兩件事最火,那得是Azuki和ERC6551,Azuki讓市場失望,但ERC6551則給了市場希望.
1900/1/1 0:00:00本期訪談的文字稿整理借助了 OpenAI Whisper 來進行轉錄,并在此基礎上進行了編譯。 Github 鏈接: https://github.com/openai/whisper 引介 我.
1900/1/1 0:00:00一、“數字藏品”的應用產生的法律問題自2021年,境內數字藏品市場迎來高潮。與境外基于公鏈發行的NFT不同,境內基于聯盟鏈發行的數字藏品以人民幣作為計價貨幣,且暫未開放合法的二級市場.
1900/1/1 0:00:00