引言
多鍊是未來的發展趨勢,可擴展性的追求將Ethereum 引向了Rollup 技術的搭建。在轉向模塊化區塊鏈的過程中,人們再次關注到了應用鏈。而在不遠的未來,我們聽到了關於特定應用Rollup、L3 和主權鏈的傳聞。但這一切都將以碎片化為代價,而目前的跨鏈橋通常在功能上存在限制,並依賴於可信的簽名者來確保安全性。
那麼,互聯的Web3 最終將呈現出怎樣的局面呢?我們認為,跨鏈橋最終將演變為跨鏈消息傳遞或「任意消息傳遞」(AMP)協議,以解鎖新的應用場景,讓應用能夠在源鍊和目標鏈之間傳遞任意消息。我們還將見證「信任機制格局」的出現,其中構建者將在可用性、複雜性和安全性之間做出各種權衡。
每個AMP 解決方案都需要實現兩個關鍵功能:
• 驗證:能夠在目標鏈上驗證來自源鏈消息的有效性
• 活躍性:能夠將信息從源鏈傳遞到目標鏈
很遺憾,百分之百的無信任驗證並不現實,用戶必鬚根據驗證是在鏈上還是鏈下,選擇相信代碼、博弈理論、人類(或實體),或者這些的組合。
在本文中,我們將整體互操作性領域垂直劃分為基於信任機制和基於集成架構兩個方面。
信任機制:
1. 信任代碼和數學:對於這些解決方案,存在著鏈上的證明,任何人都可以驗證。這些解決方案通常依賴於輕客戶端,用於驗證源鏈在目標鏈上的共識或驗證源鏈在目標鏈上狀態轉換的有效性。通過輕客戶端進行的驗證可以通過零知識證明來提高效率,將任意長的計算壓縮為離線進行,同時提供簡單的鏈上驗證來證明計算結果。
2. 信任博弈論:當用戶/ 應用程序需要相信第三方或第三方網絡來保證交易的真實性時,就會涉及到額外的信任假設。通過採用無權限網絡和經濟激勵以及樂觀安全等博弈理論,可以提高這些機制的安全性。
3. 信任人類:這些解決方案依賴於大多數驗證者的誠實性或獨立性,這些驗證者傳遞不同的信息。除了相信兩個交互鏈的共識外,還需要相信第三方。這種情況下,唯一的風險在於參與實體的聲譽。如果足夠多的參與實體同意一筆交易是有效的,那麼它就被視為有效。
值得注意的是,所有解決方案在一定程度上都需要對代碼和人類的信任。任何具有錯誤代碼的解決方案都可能被黑客利用,每個解決方案在設置、升級或代碼庫的維護方面都有一定的人為因素。
集成架構:
1. 點對點模型:需要在每條源鍊和目標鏈之間建立專用的通信通道。
2. 中心式樞紐模型:需要建立一個與中央樞紐的通信渠道,以實現與連接到該樞紐的所有其他區塊鏈的互聯互通。
點對點模型相對難以擴展,因為每個連接的區塊鏈都需要一個成對的通信渠道。對於具有不同共識和框架的區塊鏈來說,開發這些通道可能是具有挑戰性的。然而,如果需要,成對的橋樑提供了更多靈活性來定製配置。還可以採用混合方法,例如使用Inter-Blockchain Communication(IBC)協議通過中繼進行多跳路由,從而消除了直接點對點通信的需求,但在安全性、延遲和成本等方面引入了更多複雜性。
信任代碼和數學
為了只依賴代碼/ 數學進行信任假設,可以使用輕客戶端來驗證源鏈在目標鏈上的共識。輕客戶端/ 節點是連接到全節點以與區塊鏈交互的軟件。目標鏈上的輕客戶端通常存儲源鏈塊頭的歷史記錄(按順序),這足以驗證交易。離線代理(如中繼)監視源鏈上的事件,生成密碼學包含證明,並將它們與塊頭一起轉發到目標鏈上的輕客戶端。由於輕客戶端按順序存儲塊頭,每個塊頭都包含可用於證明狀態的Merkle 根哈希,因此它們能夠驗證交易。以下是這種方法的主要特點概述:
安全性
在輕客戶端的初始化過程中引入了信任假設。在創建新的輕客戶端時,它會初始化為來自對方鏈上特定高度的一個塊頭。然而,存在一個可能性,即提供的塊頭可能是不正確的,從而可能通過偽造的塊頭欺騙輕客戶端。一旦輕客戶端被初始化,就不會再引入進一步的信任假設。然而,值得注意的是,該初始化過程依賴於較弱的信任假設,因為任何人都可以驗證它。此外,對於中繼器的連續傳輸信息,存在活躍性假設。
實施
輕客戶端的實施取決於驗證所需的密碼原語的可用性。如果連接的是同一類型的鏈,意味著它們共享相同的應用程序框架和共識算法,則兩端的輕客戶端實施將相同。例如,所有Cosmos SDK-based 鏈都使用Inter-Blockchain Communication (IBC) 協議。另一方面,如輕客戶端的實現取決於對驗證所需的密碼學原語的支持情況。如果連接的是相同類型的鏈,即它們共享相同的應用框架和共識算法,那麼兩側的輕客戶端實現將相同。例如,Inter-Blockchain Communication(IBC)協議用於所有基於Cosmos SDK 的鏈。另一方面,如果連接的是兩種不同類型的鏈,例如不同的應用框架或共識類型,則輕客戶端的實現將不同。一個例子是Composable Finance,他們正在努力通過IBC 將Cosmos SDK 鏈連接到Polkadot 生態系統的Substrate 應用框架。這就需要在Substrate 鏈上使用Tendermint 輕客戶端,並在Cosmos SDK 鏈上添加一個「beefy」輕客戶端。最近,他們通過IBC 在Polkadot 和Kusama 之間建立了第一個連接。
挑戰
資源密集性是一個重要挑戰。在所有鏈上運行成對的輕客戶端可能是昂貴的,因為區塊鏈上的寫入是昂貴的。此外,在具有動態驗證者資源密集性是一個重要挑戰。在所有鏈上運行成對輕客戶端可能很昂貴,因為區塊鏈上的寫入是昂貴的。此外,對於具有動態驗證者集的鏈(如Ethereum),運行輕客戶端是不可行的。
可擴展性是另一個挑戰。輕客戶端的實現根據鏈的架構而異,這使得擴展和連接不同生態系統變得困難。
代碼漏洞是一個潛在的風險,因為代碼中的錯誤可能導致漏洞。例如,2022 年10 月的BNB 鏈漏洞就揭示了一個影響所有支持IBC 的鏈的關鍵安全漏洞。
為了解決在所有鏈上運行成對輕客戶端的成本和實際性問題,可以採用零知識(ZK)證明等替代解決方案,以消除對第三方信任的需求。
零知識證明作為第三方信任的解決方案
零知識證明可用於在目標鏈上驗證源鏈的狀態轉換的有效性。與在鏈上執行整個計算相比,ZK proofs 僅在鏈上執行計算的驗證部分,而實際計算發生在鏈下。這種方法可以更快、更高效地驗證,相比重新運行原始計算。一些例子包括Polymer Labs 的Polymer ZK-IBC 和Succinct Labs 的Telepathy。 Polymer 正在開發多跳(multi-hop)的IBC,以增強連接性並減少所需的成對連接數量。
該機制的關鍵方麵包括:
安全性
zk-SNARKs 的安全性依賴於橢圓曲線,而zk-STARKs 則依賴於哈希函數。 zk-SNARKs 可能需要一個可信的設置(trusted setup),包括創建用於生成驗證中使用的證明的初始密鑰。關鍵是銷毀設置事件的秘密,以防止通過偽造驗證來進行交易。一旦可信的設置完成,就不會引入進一步的信任假設。此外,新的ZK 框架(如Halo 和Halo2)完全消除了對可信設置的需求。
實施
存在多種ZK proving 方案,如SNARK、STARK、VPD 和SNARG,目前最廣泛採用的是SNARK。不同的SNARK proving 框架,如Groth16、Plonk、Marlin、Halo 和Halo2,在證明大小、證明時間、驗證時間、內存需求和可信設置需求等方面提供了權衡。遞歸的ZK proofs 也已經出現,允許將證明工作負載分佈在多台計算機上,而不是單台。為了生成有效性證明,必須實現以下核心基元:驗證驗證者使用的簽名方案、在鏈上存儲的驗證者集合承諾中包含驗證者公鑰的證明,以及跟踪驗證者集,其可能經常變化。
挑戰
在zkSNARKs 中實現各種簽名方案需要實現域外算術和復雜的橢圓曲線操作,這並不簡單,並且可能需要根據不同的鏈的框架和共識來進行不同的實現。審計ZK circuits 是一項具有挑戰性且容易出錯的任務。開發人員需要熟悉領域特定語言,如Circom、Cairo 和Noir,或者直接實現電路,這兩者都可能具有挑戰性,並且可能減緩採用速度。如果證明時間和工作量非常高,可能只有專門團隊和專用硬件才能處理,可能導致集中化。更長的證明生成時間也會導致延遲。增量可驗證計算(Incrementally Verifiable Computation,IVC)等技術可以優化證明時間,但其中許多仍處於研究階段,等待實現。更長的驗證時間和工作量將增加鏈上成本。
信任博弈論
基於博弈論的互操作性協議可以廣泛分為兩類,根據它們如何激勵參與實體的誠實行為:
第一類是經濟安全機制,其中多個外部參與者(如驗證者)合作達成共識,確定源鏈的更新狀態。為了成為驗證者,參與者需要質押一定數量的Token,如果發生惡意活動,這些Token 可能會被減少。在無需許可的設置中,任何人都可以積累質押並成為驗證者。此外,對遵循協議的驗證者提供區塊獎勵等經濟激勵,確保誠實行為的經濟動機。然而,如果潛在的被盜金額超過質押金額,參與者可能會勾結竊取資金。使用經濟安全機制的協議示例包括Axelar 和Celer IM。
第二類是樂觀安全機制,其中解決方案依賴於只有少數區塊鏈參與者是誠實的並遵守協議規則的假設。在這種方法中,一個誠實的參與者可以充當擔保。例如,一種最佳解決方案允許任何人提交欺詐證明。雖然存在經濟激勵,但是一個誠實的觀察者可能會錯過一個欺詐交易。樂觀Rollups 也採用了這種機制。 Nomad 和ChainLink CCIP 是使用樂觀安全機制的協議示例。在Nomad 的情況下,觀察者能夠證明欺詐,儘管在撰寫本文時它們已被列入白名單。 ChainLink CCIP 計劃利用由分佈式預言機網絡組成的反欺詐網絡來監測惡意活動,儘管CCIP 的反欺詐網絡的實施尚未可知。
安全性
在安全性方面,這兩種機制都依賴於驗證者和觀察者的無許可參與,以確保博弈論的有效性。在經濟安全機制中,如果質押金額低於可能被盜金額,資金更容易受到攻擊。另一方面,在樂觀安全機制中,如果沒有人提交欺詐證明,或者許可觀察者受到破壞或移除,少數信任的假設可能會被利用。相比之下,經濟安全機制對於維護安全性並不那麼依賴活躍性。
實施
在實施方面,一種方法涉及一個具有自己驗證者的中間鏈。在這種設置中,一組外部驗證者監視源鏈,並在檢測到調用時就交易的有效性達成共識。一旦達成共識,它們會在目標鏈上提供證明。通常需要驗證者抵押一定數量的Token,如果檢測到惡意活動,這些Token 可能會被減少。使用這種實施方法的協議示例包括Axelar Network 和Celer IM。
另一種實施方法涉及使用離鏈代理。離鏈代理被用於實現類似樂觀Rollups 的解決方案。在預定義的時間窗口內,這些離鏈代理可以提交欺詐證明,並在必要時撤銷交易。例如,Nomad 依賴於獨立的離鏈代理來中繼頭部和密碼學證明。另一方面,ChainLink CCIP 計劃利用其現有的預言機網絡來監測和證明跨鏈交易。
優勢和挑戰
博弈論的AMP 解決方案的一個關鍵優勢是資源優化,因為驗證過程通常不在鏈上進行,從而降低了資源需求。此外,這些機制具有可擴展性,因為共識機制對於各種類型的鏈保持不變,並且可以輕鬆擴展到異構區塊鏈。
與這些機制相關的挑戰也有幾個。如果大多數驗證者勾結,信任假設可能會被利用以竊取資金,這就需要採取諸如二次投票和欺詐證明之類的對策。此外,基於樂觀安全的解決方案在最終性和活躍性方面引入了複雜性,因為用戶和應用程序需要等待欺詐窗口以確保交易的有效性。
信任人類
需要信任人類實體的解決方案也可以廣泛分為兩類:
1. 聲譽安全:這些解決方案依賴於多簽名實現,其中多個實體驗證和簽署交易。一旦達到最低閾值,交易被視為有效。這裡的假設是大多數實體是誠實的,如果大多數這些實體對特定交易進行簽名,則該交易是有效的。這裡唯一需要承擔風險的是參與的實體的聲譽。一些示例包括Multichain(Anycall V6)和Wormhole。由於智能合約漏洞,仍然可能存在漏洞,正如2022 年初Wormhole 的黑客攻擊所證明的那樣。
2. 獨立性:這些解決方案將整個消息傳遞過程分為兩部分,並依賴於不同的獨立實體來管理這兩個過程。這裡的假設是這兩個實體彼此獨立,不會勾結。 LayerZero 就是一個例子。塊頭通過分佈式預言機按需傳輸,交易證明通過中繼器發送。如果證明與頭部匹配,則交易被視為有效。雖然證明匹配依賴於代碼/ 數學,但參與者需要信任這些實體保持獨立,沒有惡意意圖。構建在LayerZero 上的應用程序可以選擇他們的預言機和中繼器(或託管自己的預言機/ 中繼器),從而將風險限制在個別預言機/ 中繼器上。最終用戶需要相信LayerZero、第三方或應用程序本身正在獨立運行預言機和中繼器,沒有惡意意圖。
在這兩種方法中,參與的第三方實體的聲譽會阻止惡意行為。這些通常是驗證者和預言機社區中受尊敬的實體,如果他們表現惡意,會冒著聲譽損害和對其他業務活動的負面影響的風險。
AMP 解決方案的其他考慮因素
在考慮AMP 解決方案的安全性和可用性時,我們還需要考慮基本機制以外的細節。由於這些是可以隨時間改變的組成部分,我們沒有將它們包括在整體比較中。
代碼完整性
最近的黑客攻擊利用了代碼錯誤,突顯了可靠的審計、漏洞賞金和多樣化的客戶端實現的必要性。如果所有驗證者(在經濟/ 樂觀/ 聲譽安全中)運行相同的客戶端(用於驗證的軟件),它增加了對單一代碼庫的依賴性,並減少了客戶端的多樣性。例如,Ethereum 依賴於多個執行客戶端,如geth、nethermind、erigon、besu、akula。各種語言的多個實現可能會增加多樣性,沒有任何一個客戶端主導網絡,從而消除了潛在的單點故障。擁有多個客戶端還可以幫助保持活躍性,如果少數驗證者/ 簽署者/ 輕客戶端因為某一特定實現的漏洞/ 攻擊而失效。
設置和可升級性
用戶和開發者需要知道驗證者/ 觀察者是否可以以無許可的方式加入網絡,否則信任將被選擇許可的實體隱藏。智能合約的升級也可能引入漏洞,從而導致攻擊,甚至可能改變信任假設。可以實施不同的解決方案來減輕這些風險。例如,當前的實例化中,Axelar 網關可以升級,但需要離線委員會的批准(4/8 閾值),然而,Axelar 在不久的將來計劃要求所有驗證者集體批准網關的任何升級。 Wormhole 的核心合約是可升級的,並通過Wormhole 的鏈上治理系統進行管理。 LayerZero 依賴於不可變的智能合約和不可變的庫,以避免任何升級,但可以推送新的庫,設置默認設置的dapp 將獲得更新的版本,手動設置版本的dapp 需要將其設置為新版本。
最大可提取價值(MEV)
不同的區塊鏈通過共同的時鐘不同步,並具有不同的最終性時間。因此,目標鏈上的執行順序和時間可能因鏈而異。在跨鏈世界中,MEV 很難明確定義。它在活躍性和執行順序之間引入了權衡。有序通道將確保消息的有序傳遞,但如果一個消息超時,通道將關閉。另一個應用程序可能更喜歡無需排序,但其他消息的傳遞不受影響。
源鏈確定性
理想情況下,AMP 解決方案應該在將源鏈的狀態信息傳輸到一個或多個目標鏈之前等待源鏈達到最終性。這將確保源鏈上的區塊幾乎不會被撤銷或更改。然而,為了提供最佳用戶體驗,許多解決方案提供即時消息傳遞,並對最終性進行了信任假設。在這種情況下,如果源鏈在消息傳遞和橋接資產後經歷狀態回滾,可能會導致橋接資金的雙重花費等情況。 AMP 解決方案可以通過多種方法來管理這種風險,例如根據鏈的去中心化程度為不同的鏈設置不同的最終性假設,或者通過在速度和安全性之間進行權衡。利用AMP 解決方案的橋樑可以在源鏈達到最終性之前設置橋接的資產金額限制。
趨勢和未來展望可定制並可附加的安全性
為了更好地服務於多樣化的用例,AMP 解決方案受到激勵提供更多的靈活性給開發者。 Axelar 引入了一種方法,用於實現消息傳遞和驗證的可升級性,而無需更改應用層邏輯。 HyperLane V2 引入了模塊,允許開發者從多個選擇中選擇,如經濟安全、樂觀安全、動態安全和混合安全。 CelerIM 除了經濟安全外,還提供了額外的樂觀安全。許多解決方案在傳遞消息之前會等待源鏈上預定義的最低區塊確認數。 LayerZero 允許開發者更新這些參數。我們預計一些AMP 解決方案將繼續提供更多的靈活性,但這些設計選擇需要一些討論。應用程序是否應該能夠配置它們的安全性,到什麼程度,以及如果應用程序採用次優的設計架構會發生什麼?用戶對安全性背後基本概念的意識可能變得越來越重要。最終,我們預見AMP 解決方案的聚合和抽象,可能以某種形式的組合或「附加」安全性的形式出現。
「信任代碼和數學」機制的成熟
在理想的最終階段,所有跨鏈消息將通過使用零知識(ZK)證明來實現最小化信任。我們已經看到類似項目如Polymer Labs 和Succinct Labs 的出現。 Multichain 也發表了一個關於通過ZK 證明實現互操作性的zkRouter 白皮書。通過最近宣布的Axelar 虛擬機,開發者可以利用Interchain Amplifier 來無需許可地建立與Axelar 網絡的新連接。例如,一旦為Ethereum 的狀態開發了強大的輕客戶端和ZK 證明,開發者可以輕鬆地將它們集成到Axelar 網絡中,以替換或增強現有連接。 Celer Network 宣布了Brevis,一個ZK 跨鏈數據證明平台,使dApps 和智能合約能夠訪問、計算和利用多個區塊鏈上的任意數據。 Celer 利用ZK 輕客戶端電路實現了一個面向用戶的資產zkBridge,用於Ethereum Goerli 測試網和BNB Chain 測試網之間的跨鏈。 LayerZero 在其文檔中討論了在將來添加新的優化證明消息庫的可能性。像Lagrange 這樣的新項目正在探索從多個源鏈聚合多個證明,而Herodotus 則通過ZK 證明使存儲證明成為可能。然而,這種過渡需要時間,因為這種方法難以在依賴不同共識機制和框架的區塊鏈之間進行擴展。
ZK 是一種相對較新且複雜的技術,難以審計,目前的驗證和證明生成成本不是最優化的。我們相信,從長遠來看,為了支持在區塊鏈上高度可擴展的跨鏈應用,許多AMP 解決方案很可能會將可驗證的軟件與可信任的人類和實體相結合,因為:
1. 通過審計和漏洞賞金,可以將代碼利用的可能性最小化。隨著時間的推移,隨著這些系統的歷史成為它們安全性的證明,信任這些系統將變得更加容易。
2. 生成ZK 證明的成本將降低。隨著對ZKP 的更多研究和開發,遞歸ZKP、證明聚合、折疊方案和專門的硬件,我們預計證明的生成和驗證時間成本將大幅降低,使其成為更具成本效益的方法。
3. 區塊鏈將變得更加支持ZK。在未來,zkEVM 將能夠對執行的有效性提供簡潔的證明,基於輕客戶端的解決方案將能夠輕鬆驗證源鏈的執行和共識。在Ethereum 的最終階段,還計劃「將所有東西都zk-SNARK」,包括共識機制。
人類的證明、聲譽和身份
像AMP 解決方案這樣的複雜系統的安全性無法僅通過單一框架來封裝,需要多層次的解決方案。例如,除了經濟激勵外,Axelar 還實施了二次投票機制,以防止投票權力集中在節點的子集之間,並促進去中心化。其他人類的證明、聲譽和身份證明也可以作為設置和許可機制的補充。
結論
在Web3 開放的精神中,我們可能會看到一個多元的未來,多種方法共存。事實上,應用程序可以選擇使用多個互操作性解決方案,可以是冗餘方式,也可以讓用戶根據權衡選擇進行組合。在「高流量」路線之間,點對點解決方案可能會優先考慮,而中心與輻射模型可能會主導鏈的長尾部分。最終,我們作為一個用戶、構建者和貢獻者的社區,將塑造Web3 互聯網的基本樣貌。