作者
配對是許多加密協議的核心組成部分。本文我們介紹circom-pairing1,一種在Circom用于橢圓曲線配對的zkSNARK電路的概念驗證實現。
簡介
基于配對的密碼學(PBC)建立在一個叫做橢圓曲線配對的數學對象存在的橢圓曲線密碼學之上。雖然配對的定義相對復雜,但它們是零知識密碼學現代發展的許多加密對象的基礎:BLS數字簽名、KZG多項式承諾和zkSNARKs。
由于ZK生態系統中的這個關鍵角色,在zkSNARKs中實現配對極大地擴展了可尋址密碼構造的范圍,并增加了SNARKs的反射能力。特別是,我們設想的應用程序的ZK身份,區塊鏈擴容,和可編程的SNARKs。最后的“解鎖”可能會帶來一個未來,任何人都可以在運行中自由組合和聯合不同的SNARKs。
由于配對涉及許多復雜的橢圓曲線操作,在zkSNARK中實現它們會帶來許多挑戰。首先,對于非自然域上的橢圓曲線算法,我們必須使用zk-ECDSA6的大整數和ECC優化,但是要適應我們的曲線和BLS12-381的配對涉及到在域擴展上操作的事實。其次,Miller的計算配對算法Miller'salgorithm7允許在標準計算模型中進行許多優化,我們將這些優化移植到zkSNARK設置中。最后,由于配對計算的復雜性,即使最終優化的電路也可能相當大,這意味著需要一些基礎設施的最佳實踐來適應Circom工具棧。
輕量級區塊鏈Mina推出生態首個DEX項目LuminaDEX,將支持zkKYC:5月17日消息,據官方消息,輕量級區塊鏈 Mina 推出生態首個 DEX 項目 LuminaDEX,該項目將支持 zkKYC,從而實現合規和可擴展的 DeFi。[2023/5/17 15:08:31]
在這一系列的文章中,我們提出了一個在BLS12-381曲線上的最優Ate配對的概念驗證Circom實現,以及一個在BLS簽名驗證中的應用實例。然后,我們概述了其他潛在的應用,如遞歸SNARK和多項式承諾驗證,我們認為這種方法很容易推廣應用。
循環配對
我們實現了循環配對circom-pairing8代碼庫,它為BLS12-3819曲線上的以下操作提供未經審核的ZK電路:
Tate配對是最簡單的橢圓曲線配對之一。該算法滿足雙線性特性,適用于密碼學領域,對橢圓曲線的計算和算法的正確實現起到了很好的檢驗作用。
最佳配對:最佳配對是實踐中最常用的配對。計算類似于Tate配對(使用Miller的算法,我們將在以后的文章中討論);然而,涉及的步驟較少,而每一步的算法更加復雜,最終的結果是一個較短的總計算。
Orbiter Finance已集成Polygon zkEVM網絡:3月28日消息,Layer 2跨Rollup橋Orbiter Finance宣布已集成Polygon zkEVM網絡,允許用戶在Polygon zkEVM與支持的其他網絡間跨鏈轉移資產。[2023/3/28 13:31:18]
BLS10簽名驗證(短公鑰):簽名驗證允許檢查一個BLS簽名.給定簽名s,生成元G,公鑰xG,和哈希hash,驗證電路轉換hash到橢圓曲線點H(m),使用maptoG2下面的電路,然后驗證s確實是由給定的公鑰和消息生成的簽名。BLS簽名驗證涉及到評估兩個最優的Ate配對來驗證這一點e(s,G)=e(H(m),xG),e表示最佳的Ate配對
散列hash到曲線:maptoG2的BLS簽名驗證操作通過計算橢圓曲線上的點對。正在簽名的消息必須首先散列成一個數值。然后,這個散列值被轉換成橢圓曲線上的一個點;散列到曲線電路執行這種轉換。
更詳細的文件,我們的電路在這里可用。這些電路沒有經過審核,也不打算用作生產級應用的庫。
V神:ZK-Rollups或成為以太坊主要Layer 2解決方案:8月8日消息,以太坊聯合創始人Vitalik Buterin在ETHSeoul演講時預測,ZK-Rollups將在以太坊Layer2擴容之戰中擊敗Optimistic Rollups,比如用戶不需要7天的等待期。Vitalik Buterin指出,ZK-Rollups在將資金移入和移出主網時速度更快,這可能會導致更廣泛地采用。從現在起的10多年甚至更久,我預計Rollups基本上都將會是ZK。ZK-Rollups的EVM兼容性正在開發當中,Vitalik Buterin補充道,我們實際上已經能看到zk-EVM幾乎準備好實現與以太坊交易一起進行擴容,這太棒了。(the block)[2022/8/9 12:10:54]
演示
為了說明我們的電路,我們在zkpairing.xyz11實現了一個演示,它允許用戶生成任何BLS簽名(以特定的輸入格式)有效性的證明。如果用戶沒有一個特定的BLS簽名他們可以指定以太坊信標鏈上的任何塊號,并且演示會將塊數據解析為適當的格式,并生成一個驗證該驗證者簽名的證明區塊。對于每個證明,我們提供所有的數據-在三個小文件中-任何人都可以用來在自己的計算機上驗證證明!
以太坊Layer2網絡zkEVM已接入UniswapV2端口:10月13日消息,以太坊Layer2網絡zkEVM發文宣布已完成帶有額外的Layer2特定功能的Web3API的開發,并已在UniswapV2上展示了智能合約和前端端口。據官方介紹,這是首個EVM全兼容的zkRollup。用戶現在通過uni.zksync.io頁面鏈接錢包,領取部分測試token。UniSync是由MatterLabs推出的UniswapV2的一個端口的代碼和前端,并不是隸屬于UniswapLabs。[2021/10/13 20:24:35]
基準
所有基準測試都運行在32核3.1GHz、256GRAM、1T硬盤和400G交換機(AWSr5.8xlarge實例)上。
運行大型電路
請注意,驗證和Tate配對是非常大的電路,因此它們需要特殊的硬件和設置來運行。特別是,必須使用C++生成見證服務器,使用rapidsnark進行證明,使用補丁版本的Node.js而不使用垃圾收集生成密鑰。所有這些都必須在具有大容量內存的機器上完成;我們的設置工作流程在《大電路最佳實踐》文檔中有詳細說明。
動態 | 隱私瀏覽器 Brave 提出基于 ZKP 的去中心化虛擬隱私網絡解決方案 VPN?:隱私瀏覽器 Brave 發布研究論文提出了一種去中心化虛擬隱私網絡解決方案 VPN?,該解決方案使用無需中央授權的 ZKP 實現了充分的去中心化,同時還保障用戶隱私。作為一種去中心化的 VPN 解決方案,用戶既是 dVPN 網絡中的 VPN 客戶端,又是 P2P 網絡中繼 / 退出節點,通過使用零知識證明技術,VPN? 允許中繼節點在無需知道具體內容的情況下控制想要傳輸流量的類別,既保持了去中心化特性, 又不會侵犯用戶隱私。值得注意的是,該用例有可能集成到 Brave 的效用代幣 BAT 中,流量中繼者可獲得 BAT 補償,同時使用者則可以支付代幣 BAT 使用或訂閱 VPN 服務。目前 VPN?集成了 BitTorrent 的 DHT (Mainline)和 ProtonVPN,并針對 DHT 查找、VPN 隧道設置和零知識流量證明對 VPN? 的性能進行了基準測試。[2019/10/13]
我們能用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
合并后的ETH發行 以太坊合并完成了以太坊網絡從工作量證明向權益證明的過渡。ETH的發行方式在過渡時期發生了變化。以前,新的ETH發行有兩個來源:執行層(即主網)和共識層(即信標鏈).
1900/1/1 0:00:00據官方消息,GalaGames已成為2022波場黑客松大賽第三季合作伙伴。與此同時,GalaGames區塊鏈總裁JasonBrink將擔任本季評委.
1900/1/1 0:00:00一、行業動態總結 行業動態 上周加密市場橫盤震蕩,交易量萎縮,當前交易所現貨日交易量不足10BillionUSD,較年初下降70%,市場活躍度降到了冰點.
1900/1/1 0:00:00互聯互通是一直沒被解決好的剛需在區塊鏈中,如果把每一條區塊鏈比喻成一個獨立的賬本,不同賬本之間沒有建立起互聯互通,各個鏈上的數據和用戶資產是處于相對獨立的狀態,單個的區塊鏈就像一座座孤島.
1900/1/1 0:00:00據官方消息,HuobiGlobal現已正式上線TRX/USDC交易對。 Avalanche生態跨鏈DEX Hurricane Swap獲Huobi Ventures投資:9月23日消息,Aval.
1900/1/1 0:00:00在密碼學中,可驗證隨機函數是一種隨機數生成器,可以通過加密手段來驗證隨機性。可驗證的隨機數對許多區塊鏈應用來說都是不可或缺的要素,因為這類隨機數具有防篡改性和不可預測性,可以用來打造刺激的游戲體.
1900/1/1 0:00:00