原文標題:《一文了解跨鏈橋設計類型及項目分布》
作者:葉澤偉
經過多年的研究和發展,我們終于進入了一個多鏈市場,目前市場上有 100 多個活躍的公鏈,其中許多都有自己獨特的應用、用戶、地理分布、安全模型以及設計上的權衡,盡管個別社區不愿意相信,但宇宙是熵增的,這些網路的數量在未來可能會繼續增加。
這種類型的市場結構就需要不同網路之間的互操作性,許多開發人員已經意識到這一點,過去一年區塊鏈跨鏈橋已經呈現了爆炸式增長。在撰寫本文時,目前有 40 多個不同的跨鏈橋項目。
截止2021年9月8日;并未完全收錄所有項目
本文將重點介紹四個方面:
- 解釋說明為什么跨鏈橋如此重要
- 概述不同的跨鏈橋設計,以及其優缺點
- 一覽當前的跨鏈橋生態
- 展望未來的跨鏈橋發展方向
互操作性釋放創新
隨著各個生態系統的發展,它們會發展出自己獨特的優勢,例如更高的安全性、更快的吞吐量、更便宜的交易、更好的隱私、特定資源供應(例如存儲、計算、帶寬)以及區域性的開發人員和用戶社區。跨鏈橋之所以重要,是因為它們能使用戶訪問新的平臺和協議來實現交互,可以讓開發人員協作構建新的產品,更具體地說,它們能:
提高現有加密資產的生產力和實用性
跨鏈橋讓現有的加密資產能夠前往新的地方并做新的事情。例如:
- 將 DAI 發送到 Terra,從而 在 Mirror 上購買合成資產或在 Anchor 上賺取收益;
- 從 Flow 向以太坊發送 TopShot,以用作 NFTfi 的抵押品;
- 使用 DOT 和 ATOM 作為抵押品在 Maker 上獲得 DAI 貸款
讓現有協議擁有更強大的產品功能
跨鏈橋擴展了協議可以實現的設計空間,例如:
- 在Solana 和Avalanche 上進行YFI流動性挖礦;以太坊上 NFT 和 Rarible 協議上 Flow的跨鏈共享訂單簿
- 讓Index Coop 推出PoS指數
為用戶和開發人員解鎖新功能和用例
跨鏈橋為用戶和開發人員提供了更多選擇,例如:
- 在Optimism、Arbitrum 和 Polygon 上進行跨 DEX 的套利交易(比如,Sushi)
- 使用比特幣支付 ARweave 上的存儲費用
- 在 Tezos 上參與 PartyBid的NFT集資團購
跨鏈橋科普
在抽象層面上,人們可以將跨鏈橋定義為在兩個或多個區塊鏈之間傳輸資訊的系統。在這種情況下,“資訊”可以指資產、合同調用、證明或狀態。大多數跨鏈橋設計都有幾個組成部分:
- 監控:通常有一個Actor、“預言機”、“驗證器”或“中繼器”,負責監控鏈上的狀態。
- 消息傳遞/中繼:Actor 接收到事件后,需要將資訊從源鏈傳輸到目標鏈,
- 共識:在某些模型中,需要在監控源鏈的參與者之間達成共識,以便將該資訊中繼到目標鏈,
- 簽名:Actor需要單獨或作為閾值簽名方案的一部分對發送到目標鏈的資訊進行加密簽名,
總的來說,大約有4種類型的跨鏈橋:
Asset-specific(特定于某個資產):其唯一目的是提供從外部鏈訪問特定資產的途徑,這些資產通常是“封裝(Wrapped)”資產,由底層資產以托管或非托管方式完全抵押,比特幣是橋接到其他鏈的最常見的資產(各類xBTC),僅在以太坊上就有七種不同的橋接,這些跨鏈橋最容易實現,流動性也很好,但功能有限,需要在每個目的地鏈上重新實現。
Chain-specific(特定于某條鏈):兩條區塊鏈之間的跨鏈橋,主要操作是鎖定和解鎖源鏈上的代幣,在目標鏈上鑄造封裝資產,由于這些跨鏈橋的復雜性有限,它們通常可以更快地投放到市場中,但也不容易擴展到更廣泛的生態系統。一個例子就是 Polygon 的 PoS 橋,它允許用戶將資產從以太坊轉移到 Polygon,反之亦然,但僅限于這兩條鏈。
Application-specific(特定于某個應用):提供兩個或多個區塊鏈間訪問的應用,但僅供在該應用中使用,應用本身受益于較小的代碼庫;它并不是在每條區塊鏈上都有完整的應用,相反,通常會在每條區塊鏈上有更輕的、模塊化的“適配器”。部署了適配器的區塊鏈可以訪問應用所連接的所有其他區塊鏈,因此存在網路效應。不過,缺點就是很難將該功能擴展到其他應用(例如從借貸到交易)。具體的例子包括 Compound Chain 和 Thorchain,它們分別構建了專門用于跨鏈借貸和交易的獨立區塊鏈。
Generalized(一般性的):專為跨多個區塊鏈傳輸資訊而設計的協議。由于采用 了O(1) 復雜性(無論數據集中的數據量有多少,花費的時間是固定的),這種設計享有強大的網路效應,一個項目的單一集成使其可以訪問橋內的整個生態系統。缺點在于,一些設計通常會權衡安全性和去中心化以獲得這種擴展效應,這可能會對生態系統產生復雜的意外后果,一個例子是 IBC,它用于在兩個異構鏈(擁有最終確認性保證)之間發送消息。
此外,跨鏈橋設計還可以根據用于驗證跨鏈交易的機制進行分類,大致有三類型:
外部驗證器和聯邦
通常有一組驗證器監控源鏈上的“信箱”地址,并根據共識對目標鏈執行操作。資產轉移通常是通過將資產鎖定在源鏈上并在目標鏈上鑄造等量的資產來完成的。這些通常是綁定(bonded)驗證器,使用單獨的代幣作為安全模型。
外部驗證器或聯邦系統
輕客戶端和中繼
Actor監控源鏈上的事件,并生成有關該鏈上記錄的過去事件的加密證明。這些證明與區塊頭一起被轉發到目標鏈上的合約(即“輕客戶端”),然后驗證是否記錄了某個事件并在驗證后執行操作。某些Actor需要“中繼”區塊頭和證明。用戶可以“自我中繼”交易,不過,也確實存在一個存活假設,即中繼器將持續轉發數據,這是一種相對安全的跨鏈橋設計,因為它在不信任中間實體的情況下保證了無信任的有效交付,但它也是資源密集型的,因為開發人員必須在每個新的目標鏈上構建一個新的智能合約,從源鏈解析狀態證明,并且驗證本身會耗費大量gas,
輕客戶端和中繼系統
流動性網路
流動性網路類似于點對點網路,其中每個節點都充當“路由器”,持有源鏈和目標鏈資產的“庫存”,這些網路通常會利用底層區塊鏈的安全性;通過使用鎖定和爭議機制,保證路由器不會帶走用戶資金,因此,對于轉移大量價值的用戶來說,像 Connext 這樣的流動性網路可能是一個更安全的選擇,此外,這種類型的跨鏈橋可能最適合跨鏈資產轉移,因為路由器提供的資產是目標鏈的原生資產,而非衍生資產。
流動性網路
下圖是一個各類項目的分類和羅列:
要注意,任何給定的跨鏈橋都是雙向通信通道,每個通道中可能有單獨的模型,并且這種分類不能準確地代表混合模型,如 Gravity、Interlay 和 tBTC,因為它們一個方向是輕客戶端方向,另一個方向是驗證器,
我們可以根據以下因素對跨鏈橋設計進行粗略評估:
- 安全性:信任和活躍度假設、對惡意行為者的容忍度、用戶資金的安全性,以及反身性,
- 速度:完成交易的延遲,以及最終性保證,通常需要在速度和安全性之間進行權衡。
- 連接性:為用戶和開發者進行目標鏈的選擇,以及集成額外目標鏈的不同難度級別,
- 資本效率:確保系統安全所需的資本和轉移資產的交易成本,
- 狀態性:能夠轉移特定資產、更復雜的狀態和/或執行跨鏈合約調用。
綜合起來,可以從以下角度來看待這三種設計的權衡:
此外,安全性在一個范圍內,可以粗略地將其分類為:
無信任(Trustless):跨鏈橋的安全性與它所橋接的底層區塊鏈的安全性相同,除了對底層區塊鏈共識層的攻擊之外,用戶資金不會丟失或被盜,也就是說,實際上沒有什么是無信任的,因為所有這些系統在其經濟、工程和加密組件中都有安全性和存活假設,
保險(Insured):惡意行為者能夠竊取用戶資金,但他們這樣做可能無利可圖,因為他們在出現錯誤或不當行為的情況下需要提供抵押品并被罰款,如果用戶資金丟失,他們將通過沒收部分抵押品進行補償。
綁定(Bonded):類似于保險模型,但用戶不會在出現錯誤或不當行為的情況下收回資金,因為被罰款的抵押品可能會被銷毀,抵押品類型對Bonged和保險模型都很重要;內生抵押品(即抵押品是協議代幣本身)風險更大,因為如果跨鏈橋發生故障,代幣價值可能會崩潰,這進一步降低了跨鏈橋的安全保證。
受信的(Trusted):Actor不提供抵押品,用戶也不會在系統故障或惡意活動的情況下收回資金,因此用戶主要依賴于跨鏈橋運營商的聲譽,
總結設計上的權衡
外部驗證器和聯邦通常在狀態性和連接性方面表現出色,因為它們可以觸發交易、存儲數據并允許在任意數量的目標鏈上與該數據進行交互。然而,這是以安全為代價的,因為用戶依賴于跨鏈橋的安全性,而不是源鏈或目標鏈,雖然當今大多數外部驗證器都是受信任的模型,但也有些是抵押的,其中的一個子集用于為終端用戶提供保險,不幸的是,他們的保險機制通常是反身性的。如果將協議代幣用作抵押品,則假設該代幣的美元價值足以保護用戶,此外,如果抵押資產與被保險資產不同,那么需要依賴于預言機的價格流,因此跨鏈橋的安全性可能會降級為預言機的安全性,如果是不受信任的,這些跨鏈橋的資本效率也是最低的,因為它們需要依據經濟吞吐量成比例地擴展抵押品。
輕客戶端和中繼在狀態性方面也很強大,因為區塊頭中繼系統可以傳遞任何類型的數據。它們的安全性也很強,因為它們不需要額外的信任假設,盡管有存活假設(因為仍然需要中繼器來傳輸資訊),這些也是資本效率最高的跨鏈橋,因為它們不需要任何資本鎖定。這些優勢是以連接性為代價的。對于每兩條鏈,開發者必須在源鏈和目標鏈上部署一個新的輕客戶端智能合約,其復雜度介于 O(LogN) 和 O(N) 之間,依賴欺詐證明的Optimistic模型也存在明顯的速度缺陷,它可能會將延遲增加多達 4 小時,
流動性網路在速度和安全性方面表現很好,因為它們是本地驗證系統(即不需要全球共識)。它們也比Bonded/Insured的外部驗證器更具資本效率,因為資本效率與交易流量/交易量相關,而非安全性,舉個例子,假設兩條鏈之間的流量大致相等,并且有一個內置的再平衡機制,流動性網路可以促進任意大的經濟吞吐量,這個模式有所權衡的則是狀態性,這是因為雖然它們可以傳遞調用數據,但它們的功能有限,舉個例子,流動性網路可以跨鏈與數據交互,其中接收方有權根據提供的數據進行交互(例如,使用來自發送方的簽名消息調用合約),但它不能幫助傳遞沒有“所有者”或者只是一般狀態一部分的數據,
跨鏈橋還需要解決哪些問題?
在分布式系統中,構建魯棒的跨鏈橋是一個非常困難的問題。雖然該領域有很多發展,但仍有幾個懸而未決的問題:
最終性和回滾:跨鏈橋如何考慮概率性最終性(probabilistic finality)鏈中的區塊重組和時間強盜攻擊?例如,如果用戶從波卡向以太坊發送資金,其中一條鏈回滾了怎么辦?
NFT 轉移和出處:跨鏈橋如何為跨多個鏈橋接的 NFT 保留出處?例如,如果有一個 NFT 在 Ethereum、Flow 和 Solana 的市場上買賣,所有權記錄如何考慮所有這些交易和所有者?
壓力測試:在鏈擁堵或者受到協議和網路級攻擊的情況下,各種跨鏈橋設計將如何運行?
區塊鏈跨鏈橋的未來
雖然跨鏈橋為區塊鏈生態系統釋放了創新,但如果團隊在研發方面走捷徑,它們也會帶來嚴重的風險。Poly Network 黑客攻擊事件已經證明了風險之大,雖然對于跨鏈橋建設者來說,這是一個高度分散和競爭激烈的格局,但團隊應該保持紀律,先考慮安全性,然后考慮將產品推向市場。
雖然理想狀態應該是一個同構跨鏈橋完成所有的事情,但很可能沒有一個算得上“最佳”設計,不同類型的跨鏈橋適合不同的用途(例如資產轉移、合約調用、代幣鑄造) ,
此外,最好的跨鏈橋將是最安全、互連、快速、資本高效、成本效益高且抗審查的。如果我們想實現“區塊鏈互聯網”的愿景,這些是需要最大化的屬性,
對于跨鏈橋來說,現在還是早期,可能尚未發現最佳的設計。有幾個有趣的研究和開發方向:
降低區塊頭驗證的成本:輕客戶端的區塊頭驗證成本很高,找到降低這些成本的方法可以使我們更接近完全通用且無需信任的互操作性,一種有趣的設計可能是橋接到 L2 以降低這些成本,例如,在 zkSync 上實現 Tendermint 輕客戶端,
從受信任(Trusted)模型轉變為綁定(Bonded)模型:雖然綁定驗證器的資本效率要低得多,但“社會契約”對于確保數十億美元用戶資金的安全來說是一種危險的機制,此外,花哨的閾值簽名方案不會顯著降低對這些系統的信任;雖然它是一群人,但并不能否認它仍然是一個受信任的第三方,在沒有抵押的情況下,用戶實際上是將他們的資產移交給外部托管人。
從綁定(Bonded)模式轉變為保險(Insured)模式:財產丟失是非常糟糕的用戶體驗。雖然綁定的驗證器和中繼器可以抑制惡意行為,但協議應該更進一步,直接使用罰沒的資金補償用戶。
擴展流動性網路的流動性:這些可以說是資產轉移最快的跨鏈橋,并且在信任和流動性之間存在有趣的設計權衡。