幾天前,Connext 推出了NXTP,這個底層協議,用於在兼容以太坊的域之間實現完全無需信任的傳輸和合約調用,即鏈接不同區塊鍊及第二層/L2 項目。
我希望通過這篇文章,解釋一下為什麼以太坊生態系統中實現互操作性非常困難,並說明為什麼我們認為:NXTP 代表了生態系統真正長期解決方案的開端。
對無需信任的互操作性的需求
多鏈/L2 以太坊已經成為事實,並且將繼續存在。協議和應用都已將發展戰略改為向多個域遷移,用戶現在不得不應對每天在各層之間進行移動、或移動到其他L1 系統/ 側鏈的難題。各家項目爭先恐後地為DeFi 啟用這一遷移功能,催生出數十個新的「橋」和互操作性協議。
不出所料,這也帶來了一些引人注目的黑客攻擊和騙局:跨鏈交易協議THORChain 被攻擊;PolyNetwork 被黑。
儘管有這些例子,但每個「橋」系統都將自己標榜為無需信任、安全和去中心化——即使事實並非如此。這意味著開發者和用戶現在面臨的巨大挑戰是:「我如何確定哪些橋機制在加密經濟上是真正安全的」?
換句話說,在鏈之間轉移資金時,用戶如何區分「橋」類型,以確定該信任誰?
「無需信任」在密碼經濟學中究竟意味著什麼?
在研究界,當我們談論加密經濟的安全和無需信任屬性時,我們實際上是在問一個非常具體的問題: 誰在驗證系統,破壞它們的成本是多少?
如果我們的目標是建立真正去中心化、不可審查的公共產品,我們必須考慮到:我們的系統可能會受到非常強大的對手的攻擊,例如:主權國家、大型企業或自大狂型的邪惡天才。
如果您的威脅模型不包括(亞馬遜創始人)貝索斯最終轉向邪惡一方的假設,那麼您不會成功。
安全性最大化意味著要對系統中驗證器(驗證者、礦工等)的數量和多樣性實現最大化,這通常意味著盡最大努力擁有一個完全由以太坊驗證者集進行驗證的系統——這是L2 和以太坊擴展性方案背後的核心思想。
旁白:大多數人沒有意識到這一點,但擴展性研究是互操作性研究。多年來我們一直很清楚,可以通過移動到多個域來擴展,問題一直是:如何實現這些域之間的無需信任通信。這就是為什麼John Adler 關於optimistic rollups 的開創性論文的標題是「Trustless Two-Way Bridges With Sidechains By Halting」。
如果我們在域之間添加新的驗證器會發生什麼?
我們將上面學到的關於加密經濟安全的知識應用到「橋」中。
考慮一個場景:假設您在Arbitrum 上擁有資金,您特別選擇使用這個域,因為它是一個rollup,這意味著(在一些合理的假設下)您的資金完全由以太坊的底層驗證者保護。換句話說,您的資金在加密經濟上與區塊鏈生態系統中可能一樣安全。
現在想像一下,您決定使用「橋」,將您的資金廉價且快速地轉移到Optimism。 Optimism 也是無需信任的,因此您可以放心將資金放在那裡,因為您知道它們將共享與Arbitrum 相同級別的安全性(以太坊的安全性)。
但是,您使用的「橋」協議使用它自己的一組外部驗證器。雖然這最初看起來沒什麼大不了的,但您的資金現在不再由以太坊保障安全,而是由「橋」的驗證器保障安全:
• 如果這是一個資產鎖定/ 鑄幣「橋」,創建打包資產,意味著「橋」驗證器現在可以單方面串通來竊取您的所有資金;
• 如果這是一個使用流動性池的「橋」,「橋」驗證器可以以類似手段串通從流動性提供者(LP)竊取所有的池資金。
儘管大家已經為安全、無需信任的L2 等待了數年,但您現在的情況與使用可信側鍊或可信L1 架構時的情況相同。
關鍵要點是,加密經濟系統的安全性取決於其最薄弱的環節,當你使用了不安全的「橋」,您的鍊或L2 的安全性都也都沒有了意義。而且,類似於L1 和L2 的安全性,這一切都完全歸結為一個問題:由誰驗證系統?
互操作性協議分類
我們可以根據驗證者類型,將所有互操作性協議分為三種類型。
第一種類型:原生驗證。
原生驗證協議是:對於鏈之間傳遞的數據,完全由底層鏈自己的驗證者驗證的協議。通常是通過在另一條鏈的以太坊虛擬機(VM)中運行一條鏈的輕客戶端來完成的,反之亦然。
實例包括Cosmos IBC 和NEAR RainbowBridge。 Rollup 入口/ 出口也是其中的特殊形式!
優勢:
• 無需信任程度最高的互操作性形式,因為底層驗證者直接負責「橋」的安全;
• 實現域之間完全通用的消息傳遞。
劣勢:
• 依賴域的底層信任和/ 或共識機制來運行,因此必須針對每種類型的域進行定制構建。
以太坊生態系統是高度異構的:我們擁有眾多域,從zk/optimistic rollups 到側鏈,再到運行各種共識算法的基礎鏈:ETH-PoW、Nakamoto-PoW、Tendermint-PoS、Snowball-PoS、PoA,還有很多很多共識機制。這些域中的每一個都需要一個獨特的策略,來實現一個原生驗證的互操作性系統。
第二種類型:外部驗證。
外部驗證協議是使用一組外部驗證器在鏈之間中繼數據的協議。這通常表現為安全多方計算(MPC)系統、預言機網絡,或門限簽名(所有這些實際上是同一件事)。
實例包括THORChain、Anyswap、Biconomy、Synapse、PolyNetwork、EvoDeFi,以及其它很多很多項目。
優勢:
• 允許在域之間進行完全通用的消息傳遞;
• 可以輕鬆擴展到以太坊生態系統中的任何域。
劣勢:
• 用戶和/ 或LP 完全信任外部驗證器的資金/ 數據。這意味著該模型在加密經濟方面的安全性上,基本上低於底層域的水準(類似於上面提到的Arbitrum 與Optimism 之間的比較)。
在某些情况下,项目会使用额外的质押(staking)或 bonding 机制,来尝试为用户增加安全性。不过这通常在经济上效率低下。为了使系统无需信任,用户必须以抵押资产覆盖可能的最高额损失,而且这些抵押资产必须由验证者自己提供。这不仅显著增加了系统所需的资本,而且首先违背了铸造资产或流动性池的全部初衷。
第三種類型:本地驗證。
本地驗證協議是只有參與特定跨域交互的各方驗證交互信息的協議。本地驗證協議將復雜的n 方驗證問題轉變為一組簡單得多的二方交互,其中每一方僅驗證其交易對手。只要雙方在經濟利益上是對抗的,這種模式就有效——也就是說,雙方無法通過串通而從整個鏈中獲取資金。
實例包括Connext、Hop、 Celer 以及其它簡單的原子交換系統。
優勢:
• 本地驗證的系統是無需信任的——它們的安全性由底層鏈提供支持,因為rollups 共享了一些合理的保證(例如,該鏈的審查時間不能超過X 天);
• 它們也很容易向其他域擴展。
注意:並非每個本地驗證的系統都是無需信任的。有些項目採取一定程度上犧牲無需信任的取捨,來改善用戶體驗或添加額外的功能。
例如,Hop 通過在系統中需要一個快速的arbitrary-messaging-bridge (AMB) 來添加一些信任假設:該協議在1 天內解鎖Bonder 的流動性,而不是在退出rollup 時等待整整7 天。如果給定域不存在AMB,該協議還需要依賴外部驗證的「橋」。
劣勢:
本地驗證的系統不能支持鏈之間的廣義數據傳遞(generapzed data passing)。
上面的意思有點微妙,可能歸結為許可:本地驗證的系統可以實現跨域合約調用,但前提是被調用的函數具有某種形式的邏輯上的所有者。例如,可以跨鏈無需信任地調用Uniswap 代幣互換函數,因為任何擁有可交換代幣的人都可以調用該函數。然而這一方式無法跨鏈無需信任地鎖定和鑄造NFT——這是因為目標鏈上鑄造(mint)函數的邏輯所有者應該是源鏈上的鎖定(lock)合約,而在本地驗證系統中這無法得到體現。
互操作性困局
現在我們進入本文的主題,以及應該推動用戶和開發者圍繞「橋」的選擇做出決策的心理模型。
與擴容性不可能三角類似,在以太坊生態系統中也存在一個互操作性不可能三角。互操作協議只能擁有以下三種特性中的兩種:
• 無需信任: 擁有與底層域相同的安全性;
• 可擴展性: 任何域都可以支持;
• 信息通用性: 能夠處理任意的跨域數據。
Connext 和NXTP 如何契合這一點?
我們無法找到簡單的方法,來獲得所有三個互操作性屬性的理想結果。不過我們已經意識到,可以採用與以太坊解決擴容性不可能三角問題相同的方法,來解決互操作性不可能三角問題。
以太坊L1 以可擴容性為代價,優化了安全性和去中心化。這背後的基本原理是,這些屬性可能對區塊鏈的壽命和實用性最重要。不過,以太坊通過L2/ 分片,作為現有安全和去中心化主乾之上的一層,來增強擴容性。
在Connext,我們堅信在以太坊生態系統中,具有最長壽命、最強實用性和可採用性的互操作性系統,將是一個最大限度地無需信任和可擴展的系統。出於這個原因,NXTP 被設計成一個本地驗證的系統,專門設計為與底層域一樣安全,同時可在任何域上使用。
那麼信息的通用性呢?與以太坊生態系統中的擴容性解決方案類似,我們通過在NXTP 之上插入原生驗證的協議(作為我們互操作網絡的L2!)來增加信息的通用性。這樣,用戶和開發者就可以在任何域中獲得一致的交互界面,並且可以「升級」他們的連接,以便在該功能可用的情況下實現信息的通用化。
這就是為什麼我們說NXTP 是我們互操作性網絡的底層協議。我們的整個網絡將由一系列協議組成,其中包括NXTP、特定於一對域的通用跨鏈橋,以及將它們連接到一個無縫系統中的協議。