橋是一種通信協議,用于促進區塊鏈之間的信息傳輸(消息、資金或其他數據)。建造橋雖然有用,但卻是一件有風險的事情。區塊鏈歷史上最代價慘重的一些黑客攻擊都僅針對橋。
據估計,截至2022年,過去一年損失的資金中,69%是由于橋攻擊造成的,損失達數十億美元。
在本文中,我們關注使用零知識證明(ZKP)的橋結構的具體實現。雖然有些黑客攻擊不能僅僅因使用ZKP而做到預防,但ZKP的可靠性將區塊鏈共識協議的安全性擴展到了橋。
橋與零知識證明
近年來,我們看到零知識證明(ZKP)在應用方面取得了巨大的進展,其穩定性為提供安全和去中心化的應用程序創造了條件。因此,ZKP也被用于制定橋建設是有意義的。下面,我們回顧和比較這一領域的三個有趣的發展:
使用 zk-SNARK( Succinct Labs)對共識進行簡潔驗證:使用單個zk-SNARK實現以太坊PoS(權益證明)輕客戶端。
通過zk-SNARKS (Electron Labs)將IBC (區塊鏈間通信)引入以太坊:Cosmos SDK(Tendermint)上的工作原型到帶有單個 zk-SNARK 的以太坊輕客戶端。
zkbridge:無需信任的跨鏈橋變得實用( ( Berkley RDI ):使用2步遞歸zk-SNARK實現Cosmos SDK到以太坊輕客戶端,以太坊輕客戶端到兼容EVM的區塊鏈(本文未涉及)。
這些項目利用zk-SNARK的特性來重新定義橋應該如何設計。以上所有假設都存在一個輕客戶端協議,該協議確保節點可以同步最終區塊鏈狀態的區塊頭。將ZKP rollup背后的思想應用于橋的兩個主要挑戰是:首先,與rollup相比,橋中涉及的電路大小要大幾個數量級;其次,如何減少鏈上的存儲和計算開銷。
共識證明的簡明驗證(Succinct Labs)
Succinct Labs為以太坊2.0權益共識證明構建了一個輕客戶端,在Gnosis和以太坊之間構建了信任最小化的橋,它使用zk-SNARK(非零知識)的簡潔屬性來高效地驗證鏈上共識有效性證明。
該設置由以太坊中每 27 小時隨機選擇的 512 名驗證者組成的同步委員會組成。這些驗證者被要求在其運行周期內對每個區塊頭進行簽名,如果超過2/3的驗證者對每個區塊頭進行簽名,則以太坊的狀態被認為是有效狀態。驗證過程主要包括:
數據:Harmony跨鏈橋黑客轉移4.1萬枚ETH,并存入三個交易所:1月16日消息,鏈上數據分析師Zach XBT發推稱,疑似朝鮮黑客組織Lazarus Group通過DeFi隱私協議Railgun從Harmony跨鏈橋黑客那里轉移了約4.1萬枚ETH(6350萬美元),然后整合資金并存入三個不同的交易所。
據悉,去年6月24日Harmony跨鏈橋Horizon遭到攻擊,損失金額約1億美元;隨后區塊鏈研究公司Elliptic分析稱Lazarus Group被認為是在Harmony跨鏈橋Horizon盜取1億美元的幕后黑手。[2023/1/16 11:13:52]
Merkle證明的區塊頭
Merkle證明的同步委員會中的驗證者
用于正確輪換同步委員會的 BLS 簽名
上述驗證需要每27小時在鏈上存儲512個BLS公鑰,并且要對每個區塊頭驗證簽名都進行驗證,這將導致512個橢圓曲線添加(在曲線BLS12-381中)和鏈上的配對檢查,該操作的成本是高昂的。這里的核心思想是使用zk-SNARK (Groth16)來生成有效性證明(大小恒定),并且可以在Gnosis上進行有效的鏈上驗證。
使用 zk-SNARKS的簡潔性來擺脫昂貴的鏈下驗證
以太坊輕客戶端在Gnosis鏈上使用Solidity智能合約,而鏈下計算包括構建 circom 電路以驗證驗證者及其 BLS 簽名,然后計算 zk-SNARK 證明。在此之后,區塊頭和證明被提交給智能合約,然后智能合約在Gnosis鏈上執行驗證。SNARK計算部分的電路大小和驗證時間總結如下:
SNARK 部分的電路大小
優化包括使用驗證者的512個公鑰(PK)輸入作為使用ZK友好的Poseidon hash的承諾。Poseidon hash解決了存儲開銷問題并減小了電路大小。減小電路尺寸的過程如下;受信任的委員會在27小時后更新,之前的委員會使用SSZ (Simple Serialization),使用SHA256序列對新的委員會進行數字簽名。而不是直接在創建大型電路的SNARK中使用它(每個位操作需要一個門,在SHA中有大量的位操作),對當前公鑰使用Poseidon hash的承諾。
Celer推出的跨鏈橋cBridge宣布支持Nervos:7月12日消息,由區塊鏈互操作性協議Celer Network推出的跨鏈橋cBridge宣布支持Nervos。用戶現可通過cBridge在以太坊和Nervos EVM兼容層Godwoken之間進行對USDT、USDC、ETH、WBTC和DAI高速安全低成本的跨鏈轉賬。
此次橋接遵循此前Celer提出的「開放的原生資產跨鏈橋標準」,針對同一種原生資產跨鏈啟用多方鑄幣者(multi-minter)資產合約,以使各協議和鏈可同時使用多個跨鏈解決方案,拒絕供應商鎖定。此外,Celer表示未來將基于Celer消息跨鏈(Celer IM)框架支持對Nervos的通用消息跨鏈。[2022/7/12 2:07:11]
總結:它所使用的這種橋接方法非常特定于應用程序(依賴于共識協議),它的安全性來自于zk-SNARK的穩定性。此外,通過優化,它不僅實現了較低的存儲開銷,降低了電路復雜度,完成了簡潔驗證,同時也具有通用性。
將IBC引入以太坊(Electron Labs)
Electron Labs旨在從Cosmos SDK生態系統(應用特定區塊鏈的框架)中構建一座橋,使用IBC(區塊鏈間通信)來實現框架中所定義的所有主權區塊鏈間的通信。
此設置與前面討論的情況類似,但方向相反,其中輕客戶端(來自Cosmos SDK)需要在以太坊上的智能合約中進行驗證。從實際意義上講,在以太坊上運行來自其他區塊鏈的輕客戶端似乎具有挑戰性。在Cosmos SDK中,Tendermint輕客戶端運行在扭曲的Edwards曲線(Ed25519)上,以太坊鏈本身不支持該曲線。因此,以太坊(BN254)上Ed25519簽名的鏈上驗證變得低效且成本高昂。
在 Cosmos 到以太坊的橋中使用 zk-SNARK
與我們前面的討論類似,Cosmos SDK上的每個區塊頭(每個區塊頭由曲線Ed25519上的約128個EdDSA簽名組成)由一組驗證者簽名組成(驗證一個區塊需要32個高風險簽名)。驗證簽名會生成大型電路,這是一個重要的計算組件。因此,基本問題是如何在以太坊鏈上高效、便宜地驗證來自Cosmos SDK中任何區塊鏈的Ed25519簽名。解決方案是構建一個zk-SNARK,它在鏈下生成簽名有效性的證明,并且只在以太坊鏈上驗證證明本身。
跨鏈橋Horizon黑客地址再轉出18,036枚ETH:6月28日消息,據歐科云鏈鏈上天眼監測,被標記為跨鏈橋Horizon黑客地址(0x0d04開頭)于今日11:58:50分轉出18,036枚ETH至新地址(0x809d開頭),隨后新地址(0x809d開頭)又向開頭為0x89f8的地址轉入6,012枚ETH,截止目前0x0d04開頭的Horizon黑客地址余額價值仍超5900萬美元。[2022/6/28 1:35:51]
circom庫支持BN128、BLS12-381和Ed448-Goldilocks曲線,因此,為了在素數p=2^(255)-19的Ed25519曲線上執行模運算,可以將字段元素的表示分解為更小的85位整數(85*3=255),以實現高效的模運算。circom生成的電路是Ed25519簽名驗證電路的R1CS表示,它由橢圓曲線點加法/加倍和上面定義的模運算組成。用于簽名驗證的電路使用circom庫構造,每次簽名驗證會產生約 2M 的約束。
在見證計算之后,Rapidsnark庫為Ed25519簽名驗證生成Groth16證明。與BLS簽名不同,Ed25519曲線簽名不可聚合,因此不能為聚合簽名生成單個zk-SNARK證明。相反,簽名是批量驗證的,并且可以觀察到,驗證時間與批次中的簽名數量成線性關系。
因此,減少一批次中的簽名數量,確實可以降低證明時間(減少延遲),但隨之也會增加成本(gas費),因為每批生成的證明數量會增加。
總結:這種橋接方法也特定于它們的應用程序,并具備源于zk-SNARK證明的可靠性的安全性。特別是,在不引入任何新的信任假設的情況下,它驗證了以太坊上Tendermint輕客戶端的Ed25519簽名。域外模塊化算法是一種有價值的鏈上驗證計算優化方法。與Succinct Labs方法類似的一個具體技術問題是延遲。Cosmos SDK中的區塊生成速率約為7秒,為了跟上這個速率,證明時間就不得不降低。Electronlabs提出用多臺機器并行計算,以與區塊生成速率相同的速度生成證明,并進行遞歸生成單個zk-Snark證明。
Harmony正在開發Harmony-ETH跨鏈橋:6月15日消息,公鏈Harmony表示,正在開發無需信任的ETH跨鏈橋, 團隊正構建代碼。Harmony-ETH跨鏈橋將完全無需信任,改進我們當前的Horizon橋。[2022/6/15 4:26:52]
zkbridge(Berkley RDI)
與其他兩個行業主導的ZKP橋結構不同,zkbridge是一個框架,可以在其之上構建多個應用程序。這個想法類似于前面討論的兩種方法,并且需要兩個鏈上的輕客戶端和智能合約來跟蹤摘要,對應于兩端的最新狀態。橋的核心組件是區塊頭中繼網絡、更新合約和應用程序特定合約(發送方:SC1,接收方:SC2)。
橋組件是灰色陰影區域。
區塊頭中繼網絡由中繼節點網絡組成,這些中繼節點偵聽橋接鏈上的狀態變化,并從區塊中的完整節點檢索區塊頭。橋上中繼節點的主要功能是生成一個ZKP,該ZKP驗證來自一個鏈的區塊頭的正確性,并將其轉發給另一個鏈上的更新合約。更新合約會進行驗證并接受或拒絕來自中繼網絡中的節點的證明。行業主導的方法和zkbridge之間的主要區別是,信任假設基本上簡化為中繼網絡中存在一個誠實節點,并且 zk-SNARK 是可靠的。
這種結構的一個關鍵創新是并行使用了zk-SNARK: Virgo prover(deVirgo),它具有簡潔的驗證/證明大小,不需要可信的設置。其用于驗證N個簽名的電路本質上由相同的子電路的N個副本組成,稱為數據并行電路,每個子電路與其他子電路相互排斥。例如,前面一節中討論的Ed25519簽名驗證就是這種情況。
Virgo prover的核心組件是基于GKR協議的零知識擴展,該協議為分層電路中的每個子電路和多項式承諾方案運行總和校驗參數。deVirgo泛化本質上是在一組中繼節點上運行一個Virgo prover,并通過將證明和多項式承諾聚合到一個主節點來避免證明大小的線性增長。
跨鏈橋Wormhol受到黑客攻擊,被盜3.26億美元:金色財經報道,跨鏈橋Wormhole從Solana那一側被黑客攻擊,whETH被無限增發并且從以太坊上提走了所有的ETH。Wormhole被盜資金價值超過3.26億美元。該項目的官方推特證實了這一消息,官方稱,團隊正在調查一個潛在的漏洞,該橋目前處于關閉狀態,而官方網站只有:”門戶網站暫時不可用”的提示。(Coindesk)[2022/2/3 9:28:52]
在 deVirgo 中證明 ed25519 簽名的電路尺寸
對于使用大約 10M 門驗證 100 個簽名的電路,證明大小為210KB(與Virgo prover大小相同)。Zkbridge使用兩步遞歸。在第一步中,生成一個deVirgo證明,然后使用Groth16 prover對其進行壓縮。Groth16 verifier生成deVirgo電路執行的完整證明。遞歸的主要目的是實現簡潔(證明尺寸)和降低驗證gas成本。
然后,中繼網絡將Groth16證明提交給可以在鏈上驗證它的更新合約。deVirgo證明系統具有后量子抗性,因為它只依賴于抗碰撞哈希函數,主要的計算瓶頸是大型電路中的數論變換(NTT)。有一件事似乎沒有被提及,即中繼網絡的計算將遭受與MPC相同的通信復雜性,這也將影響證明時間。對于中繼網絡中的N臺機器,GKR多層和校驗協議的通信復雜度為O(N log_2(gates per layer))。即使對于32個簽名的情況,在中繼網絡中有32臺機器,這也將導致網絡中的通信輪數比較多,這可能會完全扼殺分布式計算帶來的性能。
使用上述方法解決了前面討論的來自 Cosmos SDK-Ethereum 輕客戶端的 Ed25519 簽名驗證問題。橋由一個中繼網絡組成,它獲取Cosmos區塊頭并生成一個deVirgo證明用于分布式證明生成。接下來,由Electron-labs設計的優化簽名驗證電路的Gnark適配在遞歸的第二步生成Groth16證明。
Ed25519 簽名的證明時間:RV:遞歸驗證者
更新合約在以太坊的Solidity中實現,并跟蹤Cosmos區塊頭和中繼網絡的Groth16證明。驗證成本是恒定的<230K gas,這是由于Groth16證明的恒定大小。此外,有可能批量驗證B個連續區塊頭,并為B個頭生成單個證明。然而,增加批次的大小也增加了驗證時間,但由于鏈上的驗證負擔較小,因此會降低 gas 成本。和以前一樣,硬件加速也可能進一步改進Gnark prover。
總結:zkbridge是在橋上構建應用程序的框架。橋的設計使用中繼網絡來生成ZKP,并且具有最低的信任假設。只要能夠克服中繼網絡中類似MPC的通信復雜性,就可以使用任何可并行化的ZK prover。更具體地說,先不考慮deVirgo中繼網絡的MPC復雜性,NTT是中繼節點的單個Virgo prover組件的瓶頸。
快速比較:
下面我們對本文討論的三種橋梁結構的各種特征進行快速比較。
綜上所述,使用ZKP設計橋,解決了去中心化和安全性問題,但由于電路規模大而產生了計算瓶頸。
計算開銷的問題可以通過硬件加速來改善,特別是使用SNARK,以及提交公共數據的技巧,它們可以有效的減少存儲開銷。由于大部分的橋接工作都是證明數據并行電路,因此將 ZKP 推廣到像 deVirgo 這樣的并行性是有價值的研究方向。
此外,由于多鏈宇宙中的區塊鏈是根據應用程序在各種各樣的領域(字段,曲線)上定義的,字段內外算法的優化在最低級別上是至關重要的構建模塊。通過MPC生成證明的并行性在通信復雜度方面有其自身的瓶頸,這是目前尚未解決的問題。
為什么多鏈宇宙是碎片化的?
區塊鏈生態系統的當前狀態類似于泡沫宇宙(碎片化多鏈宇宙)的異構分布,每個都有自己的共識機制、設計、應用程序和用例規則。截至撰寫本文時,有超過100個第1層(L1)區塊鏈協議,用戶數量不斷增長,隨著區塊鏈用例的增加,這個數字可能還會增長。
區塊鏈三難困境指出,很難同時實現理想區塊鏈的三個基石:
去中心化
可擴展性
安全
根據用例的不同,除了吞吐量和成本之外,三個基石的重要性順序也可能不同。三難困境中的不同權衡可以想象成在保持面積不變的情況下三角形的變形。當兩個角互相靠近時,第三個角會移動得更遠。這些權衡導致了區塊鏈的不同概念,從而使開發人員能夠自由地為合適的應用程序選擇不同的平臺。這同時也導致了碎片化的多鏈宇宙,每個區塊鏈基本上都是獨立運行的,完全“不知道”其他區塊鏈的存在。
多鏈宇宙中的鏈間通信,通常被稱為互操作層,是充當不同區塊鏈之間橋梁的基礎設施。橋使用戶能夠在鏈之間傳遞消息,包括數字資產(加密貨幣)、鏈狀態、合約請求、證明等。簡而言之,跨鏈橋“整理”了碎片化的多鏈世界。因此,很多研究和開發都集中在構建多鏈宇宙中的這個關鍵組件上。
建設橋
橋是一種雙向通信協議,它向另一個鏈C2中的應用程序證明一個鏈C1中的事件的發生,反之亦然。為了簡單起見,我們使用術語,源鏈(C1)和目標鏈(C2),它們是可以互換的。C1上的狀態更改必須在C2上“鏈上”進行驗證。這通常是由輕客戶端完成的:C2上的合約跟蹤C1上的一組區塊頭,并使用與從源鏈提交的根對應的Merkle證明對它們進行驗證。一般來說,C1和C2可以在不同的域中工作。除了不斷增加的區塊頭列表之外,客戶端還需要存儲和驗證新出現的區塊頭。這將導致顯著的計算和存儲開銷,而且通常效率低下。為了繞過這個問題,許多橋的建造都采取了更中心化的方法。
致命弱點:輕客戶端協議,有一小組可信任的驗證者來簽署狀態更改。
這通常發生在資金轉移的情況下,其中將大量信任假設放在中心化的橋實體上,該實體通常由少量受信任方組成。這違背了區塊鏈的基本原則,也帶來了與審查和安全相關的問題。
區塊鏈歷史上一些最大的黑客攻擊發生在橋上
大多數現有的橋(為了流動性)通過鎖定-鑄造-銷毀-釋放機制運行。用戶通過將資金發送到鏈C1上的橋協議與橋進行交互,橋協議將這些資金“鎖定”到合約中,即這些資金在C1中不可用。橋允許用戶在另一個區塊鏈C2中鑄造等值的資金。一旦用戶花費了一些資金,并希望將剩余的資金返回到C1,他就“銷毀”C2中的資金,橋對其進行驗證,并“釋放”C1中的剩余資金。在這樣的鏈間橋中,大量資金可能存放在其安全性依賴于少數受信任方的橋中,使其成為攻擊的活躍目標。
總的來說,建造橋的主要技術挑戰是:
低計算開銷(有效處理跨域數據)。
低存儲開銷。(簡潔)
安全/去信任。(可靠性)
Source:https://medium.com/@ingonyama/bridging-the-multichain-universe-with-zero-knowledge-proofs-6157464fbc86
去中心化金融社區
個人專欄
閱讀更多
金色早8點
區塊律動BlockBeats
金色財經
1435Crypto
吳說區塊鏈
blockin
比推 Bitpush News
Block unicorn
Foresight News
Odaily星球日報
Bankless
DeFi之道
來自:Binance ReseachMarketPlus是BinanceResearch推出的加密市場狀態研究報告.
1900/1/1 0:00:00金色財經 區塊鏈10月24日訊 今天,FTX創始人SBF在社交媒體稱Binance此前將USDC轉換為BUSD,預示著第二次大規模穩定幣戰爭已經開始,但這次不同的是.
1900/1/1 0:00:001.金色觀察 | Web 3浪潮席卷東南亞 越南為何會成為“熱點”地區隨著香港金融科技周、新加坡金融科技周的結束,Web 3領域的相關話題也被徹底引爆,從香港和新加坡當地政府的態度來看.
1900/1/1 0:00:00據報道,特斯拉CEO埃隆·馬斯克(Elon Musk)剛剛收購了推特(Twitter),其聯合創始人杰克·多西(Jack Dorsey)就開測新的社交媒體平臺“Bluesky”.
1900/1/1 0:00:00作者 | defioasis編輯 | Colin Wu注:標明觀點的文章,存在一定作者的主觀因素,僅代表其個人觀點,不代表吳說立場.
1900/1/1 0:00:00DeFi數據 1、DeFi代幣總市值:477.61億美元 DeFi總市值及前十代幣 數據來源:coingecko2、過去24小時去中心化交易所的交易量66.
1900/1/1 0:00:00