原文作者:?JonathanW.,VincentH.,andYiSun
原文標題:?zkPairing:zkSNARKsforEllipticCurvePairings
作者
配對是許多加密協議的核心組成部分。本文我們介紹circom-pairing1,一種在Circom用于橢圓曲線配對的zkSNARK電路的概念驗證實現。
簡介
基于配對的密碼學(PBC)建立在一個叫做橢圓曲線配對的數學對象存在的橢圓曲線密碼學之上。雖然配對的定義相對復雜,但它們是零知識密碼學現代發展的許多加密對象的基礎:BLS數字簽名、KZG多項式承諾和zkSNARKs。
由于ZK生態系統中的這個關鍵角色,在zkSNARKs?中實現配對極大地擴展了可尋址密碼構造的范圍,并增加了SNARKs的反射能力。特別是,我們設想的應用程序的ZK身份,區塊鏈擴容,和可編程的SNARKs。最后的“解鎖”可能會帶來一個未來,任何人都可以在運行中自由組合和聯合不同的SNARKs。
數據:zkSync Era TVL跌至5億美元下方:7月24日消息,據L2BEAT數據顯示,zkSync Era TVL已跌至5億美元下方,現為4.73億美元,過去7日跌幅達18.13%;Starknet TVL漲至1.26億美元,過去7日漲幅為31.96%。[2023/7/24 15:54:10]
由于配對涉及許多復雜的橢圓曲線操作,在zkSNARK中實現它們會帶來許多挑戰。首先,對于非自然域上的橢圓曲線算法,我們必須使用zk-ECDSA6的大整數和ECC優化,但是要適應我們的曲線和BLS12-381的配對涉及到在域擴展上操作的事實。其次,Miller的計算配對算法Miller'salgorithm7允許在標準計算模型中進行許多優化,我們將這些優化移植到zkSNARK?設置中。最后,由于配對計算的復雜性,即使最終優化的電路也可能相當大,這意味著需要一些基礎設施的最佳實踐來適應?Circom?工具棧。
在這一系列的文章中,我們提出了一個在BLS12-381曲線上的最優Ate配對的概念驗證Circom實現,以及一個在BLS簽名驗證中的應用實例。然后,我們概述了其他潛在的應用,如遞歸SNARK和多項式承諾驗證,我們認為這種方法很容易推廣應用。
數據:zkSync Era獨立存款地址數量突破20萬:金色財經報道,據Dune Analytics數據顯示,zkSync Era獨立存款地址數量已突破20萬,本文撰寫時達到210,049個,當前總鎖倉量為93,430,469美元。[2023/4/2 13:39:54]
循環配對
我們實現了循環配對circom-pairing8代碼庫,它為BLS12-3819曲線上的以下操作提供未經審核的ZK電路:
Tate配對是最簡單的橢圓曲線配對之一。該算法滿足雙線性特性,適用于密碼學領域,對橢圓曲線的計算和算法的正確實現起到了很好的檢驗作用。
最佳配對:最佳配對是實踐中最常用的配對。計算類似于Tate配對(使用Miller的算法,我們將在以后的文章中討論);然而,涉及的步驟較少,而每一步的算法更加復雜,最終的結果是一個較短的總計算。
BLS10簽名驗證(短公鑰):簽名驗證允許檢查一個BLS簽名.給定簽名s,生成元G,公鑰xG,和哈希hash,驗證電路轉換hash到橢圓曲線點H(m),?使用maptoG2下面的電路,然后驗證s確實是由給定的公鑰和消息生成的簽名。BLS簽名驗證涉及到評估兩個最優的Ate配對來驗證這一點e(s,G)=e(H(m),xG),e表示最佳的Ate配對
zkSync與加密基礎設施公司Espresso Systems合作,將集成CAPE技術以實現隱私交易:1月19日消息,基于ZK Rollup的以太坊二層網絡 zkSync 正與加密基礎設施公司 Espresso Systems 合作,將集成“可配置資產隱私”CAPE(Configurable Asset Privacy)的新技術,以實現隱私交易。任何用戶都可以在不暴露區塊鏈的私人數據的情況下進行交易,從而為不希望余額、鏈上活動和其他可公開訪問的私人數據暴露的機構消除障礙。
據悉,該合作仍在計劃中,尚未部署在 zkSync 的測試網上,預計今年晚些時候將更新現實世界資產、供應鏈、身份、支付和貿易融資的代幣化。[2023/1/19 11:20:18]
散列hash到曲線:maptoG2的BLS簽名驗證操作通過計算橢圓曲線上的點對。正在簽名的消息必須首先散列成一個數值。然后,這個散列值被轉換成橢圓曲線上的一個點;散列到曲線電路執行這種轉換。
更詳細的文件,我們的電路在這里可用。這些電路沒有經過審核,也不打算用作生產級應用的庫。
zkSync將遷移其位于Ropsten和Rinkeby上的v1測試網至Go?rli和Sepolia:7月12日消息,以太坊Layer 2擴容解決方案zkSync宣布將于8月2日遷移其位于Ropsten和Rinkeby上的v1測試網至Go?rli和Sepolia,以盡量減少由于合并而導致的網絡故障風險。開發者需在Go?rli或Sepolia上重新部署測試環境。[2022/7/12 2:08:08]
演示
為了說明我們的電路,我們在zkpairing.xyz11實現了一個演示,它允許用戶生成任何BLS簽名(以特定的輸入格式)有效性的證明。如果用戶沒有一個特定的BLS簽名他們可以指定以太坊信標鏈上的任何塊號,并且演示會將塊數據解析為適當的格式,并生成一個驗證該驗證者簽名的證明區塊。對于每個證明,我們提供所有的數據-在三個小文件中-任何人都可以用來在自己的計算機上驗證證明!
基準
所有基準測試都運行在32核3.1GHz、256GRAM、1T硬盤和400G交換機(AWSr5.8xlarge實例)上。
StarkWare推出ZK Rollup擴容解決方案StarkNet:1月27日消息,零知識證明研發機構StarkWare表示,其二層擴容解決方案ZK Rollup“StarkNet”目前已經完成基礎構建(階段0),即圖靈完備框架Cairo、STARK 軟件堆棧和二層擴容引擎StarkEx,之后將進行構建階段一至階段三,其中,階段一將支持單一應用Rollup“Single-App Rollup”,將使開發人員能夠在StarkNet上構建和部署自己的可擴展性應用程序;階段二將支持多應用Rollup“Multi-App Rollup”,支持在同一StarkNet實例上運行并訪問多個應用程序,這將實現不同應用程序之間的互操作性,以及降低 Gas 成本;階段三將支持去中心化Rollup“Decentralized Rollup”。
StarkWare預計將在近幾個月內部署階段一,并在2021年底之前順利進入階段二和階段三。StarkWare構建的StarkNet是一種由STARK驅動的去中心化二層ZK Rollup,可支持以太坊的通用計算。[2021/1/27 13:37:48]
運行大型電路
請注意,驗證和Tate配對是非常大的電路,因此它們需要特殊的硬件和設置來運行。特別是,必須使用C生成見證服務器,使用rapidsnark進行證明,使用補丁版本的Node.js而不使用垃圾收集生成密鑰。所有這些都必須在具有大容量內存的機器上完成;我們的設置工作流程在《大電路最佳實踐》文檔中有詳細說明。
我們能用zkPairing做什么?
因為配對是許多加密協議的核心組成部分,所以用于配對計算的zkSNARKs允許我們將以下高級原語放入SNARK中:
BLS簽名驗證:Boneh-Lynn-Shacham(BLS)數字簽名是一種基于橢圓曲線配對的簽名方案。由于能夠使用BLS有效地計算聚合簽名和閾值簽名,它目前被用于區塊鏈,如Etherum2.0、ZCash?和?Dfinity。驗證BLS簽名涉及到一個配對檢查,檢查兩個橢圓曲線配對是否相等,因此通過zkPairing直接啟用。這解鎖了潛在的可伸縮應用程序,比如輕型客戶機和橋接的簽名聚合。
遞歸SNARK驗證:因為Groth16證明驗證只涉及配對檢查,所以SNARK-ing配對允許SNARK-ing整個驗證算法,稱為遞歸驗證。這使我們能夠構建一個zkSNARK的zkSNARK的...無限廣告,使開發人員能夠構建不同的SNARK證明,而不是構建一個單一的大型SNARK和大大增加可能的SNARK的復雜性。我們正在調整我們的電路,以遞歸Groth16驗證BN254,并希望在不久的將來發布一個概念證明。
KZG多項式承諾驗證:KZG多項式承諾是PlonK的基礎,PlonK是具有通用可信設置的新一代zkSNARK之一。因為驗證KZG承諾涉及到一個配對檢查,zkSNARK-ing配對使我們能夠驗證任何建立在SNARK中的KZG承諾之上的東西,包括PlonK驗證本身!
很快就會看到第2部分討論了zkPairing的實現技術!
致謝
該項目是在ZKxZKGitcoin基金的支持下,在0xPARC的ZK身份工作組期間構建的。
我們借鑒并分享了很多與circom-ecdsa相關的技術,特別是在大整數和橢圓曲線算法的優化方面。例如,我們使用xJsnark的大整數乘法優化。
我們也從最初的創作者JordiBaylina和snarkjs的研究中獲益匪淺。他教了我們很多關于circom/snarkJS工具棧的知識,并分享了很多關于如何有效地構建大型ZK電路的見解。
參考
https://github.com/yi-sun/circom-pairing
https://en.wikipedia.org/wiki/Pairing-based_cryptography
https://medium.com/@VitalikButerin/exploring-elliptic-curve-pairings-c73c1864e627
https://en.wikipedia.org/wiki/Elliptic-curve_cryptography
https://0xparc.org/blog/zk-id-2
https://0xparc.org/blog/zk-ecdsa-2
https://crypto.stanford.edu/pbc/notes/ep/miller.html
https://github.com/yi-sun/circom-pairing
https://hackmd.io/@benjaminion/bls12-381
https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-04
https://zkpairing.xyz/
https://hackmd.io/V-7Aal05Tiy-ozmzTGBYPA?view
ForesightNews消息,9月3日2022世界人工智能大會區塊鏈+元宇宙新生態論壇上,上海金融信息協會等機構聯合發布《2022全球區塊鏈創新應用示范案例集》.
1900/1/1 0:00:00親愛的用戶: CoinW將為在現貨錢包中仍持有CDT的符合資格的用戶進行代幣置換,舊代幣CDT,新代幣SSV,置換比例100CDT:1SSV。充值提幣功能現已關閉.
1900/1/1 0:00:00據官方消息,為了提高用戶的流動性和資金使用效率,Binance對用戶現有的USDC、USDP、TUSD穩定幣余額和新充值將以1:1的比例自動轉換為BUSD.
1900/1/1 0:00:00DearCoinUpusers:CoinUpwillsupportBNBBeaconChain(BEP2)networkupgradeandhardfork.
1900/1/1 0:00:00近期CoinW幣贏平臺事故導致部分用戶倉位受損。CoinW幣贏CTO針對此事件回應:源于周末云服務底層數據升級,在數據同步遷移中出現閃斷,導致部分用戶跟單持倉限額配置功能同步失敗,導致部分用戶持.
1900/1/1 0:00:00關于Gate.ioStartup免費空投計劃為回饋平臺用戶,Gate.io上線“免費空投計劃”,在Startup區不定期進行區塊鏈項目的免費空投計劃.
1900/1/1 0:00:00