作者:Jiawei,IOSG Ventures
1、引子
Composable Finance的創始人提出了跨鏈互操作性的五個發展階段:
0-20%:實現最基本的跨鏈通信和鏈間代幣移動;
20-50%:用戶能夠在不同鏈上爲資產提供流動性,借此實現收益最大化;
50-75%:類似Aave這樣的項目,使得用戶能夠在一條鏈上存入抵押品,同時在另一條鏈上進行借貸。即實現不同鏈的應用間通信;
75%:單個應用將其不同部分部署在多條鏈上,使每個部分都在最高效的鏈上運行。這些不同鏈的後端包將相互通信,以確保用戶體驗的持續性;
100%:生態系統不可知論,提供廣泛的Web3生態系統的接口。傳統开發者能夠任意在鏈上部署由Web3工具支持的應用,而不需要復雜的區塊鏈編程——抽象掉其中的所有復雜性。
對這些階段的研判基本確定了我們應如何看待如今的多鏈格局。抽象來看,我認爲Polkadot XCM/XCMP 與Cosmos IBC,以及Substrate與Cosmos SDK,已經分別在做第四、五階段的事情。
同樣作爲多鏈生態,對比Polkadot與Cosmos的體系設計、技術架構的文章已有很多。作爲微小的補充,本文將從輕客戶端的視角出發,比較各自的跨鏈通信機制XCMP/IBC以及开發框架Substrate/Cosmos SDK。
最後,提出了一些個人思考作爲結尾。
2、架構
正如Cosmos文檔中所描述的:「Cosmos不是一個產品,而是一個建立在一組模塊化、適應性強和可互相替換工具之上的生態系統」。我對Polkadot的理解亦是如此。
在正文开始之前,我們先從高維層面快速過一遍它們的體系結構。
2.1Polkadot
中繼鏈是Polkadot的核心,平行鏈之間彼此獨立,但統一連接到中繼鏈,以共享其安全性。Collators逐一收集平行鏈上的交易、生成狀態轉換證明,提交給中繼鏈,由Validators驗證這些證明,並執行共識,在中繼鏈上出塊。Nominators負責挑選Validators,並需要爲他們質押DOT,以保護中繼鏈。
Polkadot平行鏈的安全性依賴於中繼鏈,中繼鏈爲平行鏈提供共享安全性和狀態一致性。
2.2Cosmos
Cosmos包含兩種類型的區塊鏈:Zones和Hubs。Zones是常規的異構鏈,Hubs則用於把這些Zones連接起來。Zone和Hubs之間的通信和消息傳遞依賴於IBC(Inter-blockchain Communication)協議。當任意Zone與一個Hub建立IBC連接時,它可以與連接到該Hub的其他Zones進行通信。
Cosmos Hub是整個網絡中的第一個Hub,標志着Cosmos網絡的啓動。
3、通信機制
對兩個跨鏈生態有了基本認識之後,我們來具體看各自的通信機制。
3.1Polkadot XCM/XCMP
Polkadot 採用UMP、DMP在平行鏈和中繼鏈間進行上、下行的消息傳遞,並基於 XCMP(Cross-Chain Message Passing)進行平行鏈間消息傳遞。XCMP 仍在开發中,目前的實際使用的跨鏈方案是HRMP(Horizontal Relay-routed Message Passing)。
HRMP提供與XCMP相同的接口和功能,但需要將所有消息放置在中繼鏈的存儲(storage)。對中繼鏈而言,產生了額外的消息負載。而XCMP僅僅將與消息關聯的元數據哈希存儲在中繼鏈。因此HRMP作爲暫時的過渡方案,在未來將被XCMP所替代。
上圖描述了XCMP的工作原理:
平行鏈間可以打开雙向通道,分別用於接收和發送消息。平行鏈A和平行鏈B之間進行XCMP通信,首先需要各自鏈上的Collators將消息、目的地和時間戳加入到自己的輸出隊列,而對方監測到消息後,將其加入到自己的輸入隊列,處理這條消息,並把區塊提交給Validators。Validators對消息進行驗證,隨後將該區塊包含在中繼鏈上。這樣視作完成一次跨鏈消息傳遞。
鏈與鏈之間、或是說不同的共識系統之間,消息格式缺乏兼容性,各有各的一套消息傳遞方式和標准。
如果我們想要進行進一步的跨共識互操作,需要一種更通用的「語言」——高階地抽象出這些消息的意圖,爲共識系統間通信的數據報提供一個基本框架。同時需要考慮到智能合約或區塊鏈的潛在升級,所以這樣的語言還必須做到前向兼容和可擴展。
今年五月初,Polkadot在其v0.9.19中正式啓用了XCM(Cross-consensus Messaging Format),其中跨共識的涵義在於,這種通信格式不僅能在Polkadtot鏈間的UMP、DMP和XCMP中採用,還能夠在智能合約、Pallet、橋以至SPREE(Shared Protected Runtime Execution Enclaves)之間進行通信。(注:Pallet相當於一系列有特定用途、可組合的模塊和工具包,例如EVM Pallet的用途是在Substrate鏈上集成基於Solidty的合約;SPREE模塊是一種去信任的消息模塊,用於確保在收到消息之後以何種方式執行代碼)
需要注意XCM與XCMP的區別。XCM是一種共識系統之間相互通信的「格式」,其效用在於表達接收消息者得到消息應該做什么。而XCMP是一種消息傳遞的「協議」。
本質上,XCM的消息是運行在非圖靈完備虛擬機XCVM(Cross-Consensus Virtual Machine)上的單個或一系列指令,換句話說,XCVM的指令集構成了XCM消息的全部內容。
Polkadot提出XCM和XCMP,實際上是爲平行鏈間通信提供了原生、通用性的支持,這樣平行鏈間能夠實現直接通信,而無需依賴專門的跨鏈橋,使整個Polkadot網絡的互操作性在協議層上更加統一。
在XCM啓用後不久,MoonBeam與Acala率先宣布啓用基於XCM的雙向HRMP進行跨鏈通信,實現兩條鏈上原生資產的自由流動。
例如,Acala上的$ACA和$aUSD可以跨鏈到MoonBeam,作爲XC-20資產($xcACA和$xcaUSD)實現與以太坊生態的互聯互通。MoonBeam的原生代幣$GLMR亦可在Acala上作爲抵押品來鑄造$aUSD或者參與質押。
MoonBeam與Acala兩大生態打通XCM連接是一個裏程碑事件,象徵着Polkadot擘畫的跨鏈圖景正在緩緩鋪开。隨着其他平行鏈啓用基於XCM的跨鏈通信,我們將看到更多類似的用例,並激發更大的想象空間。
3.2Cosmos IBC
自底向上地,Cosmos的體系依次基於Tendermint Core、IBC和Cosmos SDK,三者分別是BFT共識引擎、跨鏈通信協議和开發框架。
作爲跨鏈通信協議的IBC於去年3月在Cosmos Stargate升級時正式开始實施,其語義和設計原理由鏈間標准ICS(Inter-chain Standard)所制定。
類比於互聯網通信協議TCP/IP的層級體系,IBC可分解爲傳輸層和應用層。傳輸層提供必要的基礎設施以在鏈間建立安全連接和驗證數據包;應用層准確定義了這些數據包應該如何被發送方打包、以及如何被接收方解釋。
上圖描述了IBC數據包的生命周期。
IBC採用「鎖定-鑄造」的資產跨鏈模型。如上圖,Zone A想要將資產跨鏈轉移到Zone B,需要鎖定代幣並將證明發送給Zone B,經驗證後,Zone B在本身鏈上鑄造等量的代幣。該過程中資產並非產生了實際轉移,而是在Zone A鎖定這筆資產,在Zone B重新鑄造了等額的同一資產。
最終性(Finality)指的是加密貨幣交易一旦完成,即無法被任意更改或取消。以上過程描述的是即時最終性的情況。而對於比特幣這樣的概率最終性區塊鏈,需要引入Peg-Zone作爲代理鏈(注:目前Cosmos與以太坊之間的Peg-Zone是Gravity Bridge),並確定一個最終性的閾值:例如,假定某條鏈在某筆交易發生之後產出了100個新區塊,認爲實現了(僞)最終性。
當前,Cosmos生態中已經囊括39條鏈、78個驗證人,總質押資產價值超過31億美金。一些潛在的空投機會成爲了吸引用戶流入Cosmos生態動力之一。但Terra的香消玉殞顯然對Cosmos生態造成了巨大破壞,使生態的總鎖倉量縮水嚴重。
3.3輕客戶端
根據1kx合夥人Dmitriy對跨鏈橋的劃分,我們從輕客戶端的角度來看XCMP和IBC。
輕客戶端(或輕節點)最早是區別於全節點的一種說法,用於比特幣的簡化支付驗證(SPV)。更廣義來講,智能合約也可以是輕客戶端。這樣的輕客戶端往往不與鏈進行直接交互,而依賴全節點作爲中介,從全節點請求某種信息,例如發送交易、驗證账戶余額和請求區塊頭。
**在跨鏈通信時,中繼者對源鏈上的事件進行監控,並生成事件的密碼學證明,將證明與區塊頭一起轉發到目標鏈上的智能合約(即輕客戶端)。輕客戶端驗證某一特定事件,並以此爲憑據,執行某些動作。**以上我們討論的Polkadot XCMP和Cosmos IBC都採用了輕客戶端模型。
除此之外,NEAR的RainbowBridge也是典型的輕客戶端模型。輕客戶端作爲智能合約,分別部署在以太坊(存儲NEAR的區塊頭)和NEAR(存儲以太坊的區塊頭)上。這些區塊頭由Relayer進行定期更新,更新頻率取決於經濟效率上的權衡——在以太坊上更新NEAR的區塊頭設置爲12至16小時。Connector則負責處理特定資產的跨鏈邏輯(如ERC-20代幣或NFT)。
RainbowBridge的速度與开銷主要取決於以太坊。將資產從以太坊發送到NEAR大約需要 6分鐘(20 個區塊)。將資產從 NEAR 發送回以太坊目前最多需要 16 個小時(由於以太坊最終性的時間花費)。
3.4小結
通過上述對XCM/XCMP、IBC和RainbowBridge的梳理,我們對輕客戶端模型有了基本的認知。輕客戶端的優勢在於安全性,通過對某些信息進行驗證,兩條鏈之間可以知悉對手鏈上發生了什么,而無需依賴對外部驗證者的信任假設,故安全性基本等同與鏈本身。
特別地,XCMP的安全性屬於Shared Security,依賴於中繼鏈提供的全局安全性,因爲跨鏈消息的驗證是由Validators完成的,隨後Validators把包含該消息的區塊包含到中繼鏈上。
上表中Cosmos的Interchain Security是一種特殊的Shared Security,即多鏈共享同一驗證者集並進行出塊。由於一些小型鏈的驗證者較爲薄弱,容易受到攻擊,因此Interchain Security相當於幫助他們繼承成熟網絡的安全性。
採用Cosmos IBC的通信需要兩條鏈之間彼此信任,而RainbowBridge則要求NEAR與以太坊之間彼此信任,這也是對區塊頭進行有效性驗證的基本前提。
而輕客戶端的缺點在於:對這些證明的驗證有着不菲的成本;此外還涉及到連接性的問題,需要爲每兩條鏈之間的通信部署輕客戶端——當然,Polkadot和Cosmos的原生通信機制很好地解決了生態系統內部的連接性問題。
作爲小結,在上表中對XCMP/XCM、Cosmos IBC和NEAR RainbowBridge進行了簡要的對比,其中一些數據可能直接涉及到生態間的對比。(RainbowBridge僅僅涉及到NEAR與以太坊的跨鏈,不像前兩者屬於跨鏈生態,但作爲輕客戶端的一種,我們同樣放在這裏做個對比。)
4、开發框架
「开箱即用」指一系列現成的軟/硬件或工具包,开發者能夠直接拿過來使用,而不需要花時間和精力重新實現這些功能。
**Substrate和Cosmos SDK即是這樣的框架:對底層邏輯進行封裝,提供一些預構建模塊,進行靈活、可定制的模塊組合,用於搭建區塊鏈與應用。**在互操作性方面,Substrate和Cosmos SDK都分別提供了對Polkadot和Cosmos生態的原生支持。
Substrate提供三種开發方式:Substrate Node預先提供了節點配置,僅需額外配置一個JSON文件即可一鍵搭鏈;Substrate FRAME提供了一系列的模塊和組件(即上述提到的Pallet),开發者亦可編寫Pallet並進行自由組合;Substrate Core更加高維和抽象,开發者可以從頭設計運行時(注:運行時本質是狀態轉換函數,是Substrate中的核心概念,代表鏈的狀態存儲以及狀態將被如何更改)這三種方式的开發難度和技術靈活度都是遞增的。
Polkadot和Kusama都基於Substrate進行开發。但Substrate本身是一種通用化的开發框架,支持與Polkadot的無縫連接,並不意味着所有Substrate都需要與Polkadot有強綁定的關系。
區別於智能合約,Cosmos SDK提出了應用鏈(Application-specific Blockchains)的概念(也即爲單個應用而定制的區塊鏈),並對底層的BFT共識引擎Tendermint Core和網絡層進行封裝,借助ABCI(Application Blockchain Interface)實現與應用層的連接。
除Cosmos SDK之外還有一些擴展工具作爲補充,例如基於JavaScript的DeFi組件Agoric、基於Wasm的智能合約模塊CosmWasm以及基於Cosmos SDK的EVM實現Ethermint。
开發框架整體上提供的功能和工具大同小異,在細微處有不同的設計理念,在這裏暫不再詳細展开。
根據Electric Capital的報告,自2017年起,Web3开發者數量开始實現大幅增長,截至2021年底,有超過18,000名开發者活躍在Web3領域。然而,對比傳統开發者而言仍佔少數。從行業發展的角度考慮,需要進一步降低鏈上應用开發的門檻,做好开發者服務。
繁榮的生態會吸引更多優質的开發者加入,畢竟Substrate和Cosmos SDK都強調了接入各自生態的便利性。事實上,選擇开發框架也與選擇其後的生態密不可分。
4.1小結
同樣,我們對Substrate和Cosmos SDK進行了簡單的對比。
5、思考與結語
我部分同意「胖應用」的論據(同時協議也未必需要「瘦」)。**在工程上,不同鏈有不同鏈的權衡取舍,針對不同目標各自提出了獨出心裁的技術方案,但諸如此類基礎設施的終極目標是相對一致的——服務於應用。**我們不是要造空中樓閣,拋开應用空談技術是書生意氣。回看18、19年的敘事,動輒「以太坊殺手」、「百萬TPS」,用戶關心這些嗎?也許並不關心。所以應當有一些小而美的應用、用戶接受度高的應用,先在鏈上跑起來。(我認爲符合此描述的其中一個應用是NFT Marketplace聚合器gem.xyz, 界面清爽、功能好用,對很多用戶來說這就足夠了)
以太坊的設計使得建立在其上的應用和協議彼此受限、且不可避免地競爭底層資源。多鏈生態的起勢一定程度上分擔了以太坊的壓力,但實際上也在蠶食其領先地位。與此同時,在熊市的視角下,以太坊回歸到相對合理的Gas費用和交易速度也削弱了資金外流的動力。**短期來看,各條鏈能否產生「賺錢效應」是吸引用戶流入的主要引力(例如DeFi Kingdoms和STEPN)。中長期來看,用戶流向與各條鏈生態的整體質量密不可分。**最終用戶會用其資金投票,使鏈間的競爭關系達到相對均衡。
可組合性、互操作性激發了新的敘事,但隱含的風險同樣不容忽視。兩年前我們只在以太坊上搭樂高,3月12日的極端行情中,協議的層疊嵌套以及枯竭的流動性就引發了系統性風險。在近一年來的多鏈格局之下,我們有了更多的錨、跨鏈橋,以及更復雜的協議,但仍未經歷那樣的嚴峻考驗。Terra帝國的分崩離析也許僅僅是一個先兆。況且,當前市場處於中長期的下行趨勢,我們需要如履薄冰,主動預估和評判風險。
需要承認,當前的多鏈生態依舊有些「虛胖」,一些看似繁榮的生態,說到底是一套協議、一套代碼在另一條鏈上重新开設賭局而已。**生態繁榮與否,不是單純看項目數的多少,而需要綜合評判用戶的活躍度和資金的持續性。**此外,資產跨鏈仍然是當下跨鏈的主要用例。在未來我們可以期待或者預見一些其他應用場景。一些有趣的用例可能是:在做DID時我們需要評估多鏈的活動軌跡;在做NFT借貸時我們可以抵押多鏈的NFT資產;甚至根據多鏈的資產活動變化以輔助套利決策;諸如此類。
跨鏈基礎設施已經箭在弦上,但真正點燃多鏈生態需要大規模的增量用戶,**僅僅是瞄准存量用戶的博弈、僅僅是資金在鏈間的輾轉騰挪,無法帶來指數級增長。**考慮到這一點,提供用戶友好的入口(例如多鏈錢包)至關重要。
我們應如何展望未來的多鏈格局?在上圖(截至2021年9月),我們已經看到跨鏈生態正在變得繁榮起來,雖然在熊市中不可避免地顯現頹勢,但客觀來說,跨鏈基礎設施已經相對完善。(盡管如此,黑客對於跨鏈設施漏洞的攻擊仍然層出不窮,保持樂觀,但也應小心謹慎)
合理猜測,下一個大周期的敘事是圍繞各個鏈上優質應用構建起來的多鏈生態。「搭一條公鏈,滿足所有需求」類似的言論可能會成爲歷史,畢竟我們的確沒有必要在一條鏈上做完所有事情。期待在未來湧現出更多的應用鏈。
當下,我們仍處在多鏈格局的早期階段。
參考材料
https://medium.com/composable-finance/the-philosophy-of-the-cross-chain-ecosystem-a-continuum-of-interoperability-33ed81350190
https://thenewstack.io/web3-developer-ecosystem/
https://www.parity.io/blog/what-is-a-light-client/
https://substrate.io/
https://wiki.polkadot.network/docs/
https://v1.cosmos.network/intro
https://ibcprotocol.org/
https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8
https://blog.cosmos.network/interchain-security-is-coming-to-the-cosmos-hub-f144c45fb035
https://github.com/paritytech/xcm-format
https://aurora.dev/blog/2021-how-the-rainbow-bridge-works
https://near.org/blog/the-rainbow-bridge-is-live/
https://docs.substrate.io/v3/
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:多鏈生態:我們的當前階段與未來格局
地址:https://www.torrentbusiness.com/article/4257.html
標籤: