多鏈生態:我們的當前階段與未來格局

作者:Jiawei,IOSG Ventures

1、引子

Composable Finance的創始人提出了跨鏈互操作性的五個發展階段:

  1. 0-20%:實現最基本的跨鏈通信和鏈間代幣移動;

  2. 20-50%:用戶能夠在不同鏈上為資產提供流動性,藉此實現收益最大化;

  3. 50-75%:類似Aave這樣的項目,使得用戶能夠在一條鏈上存入抵押品,同時在另一條鏈上進行借貸。即實現不同鏈的應用間通信;

  4. 75%:單個應用將其不同部分部署在多條鏈上,使每個部分都在最高效的鏈上運行。這些不同鏈的後端包將相互通信,以確保用戶體驗的持續性;

  5. 100%:生態系統不可知論,提供廣泛的Web3生態系統的接口。傳統開發者能夠任意在鏈上部署由Web3工具支持的應用,而不需要復雜的區塊鏈編程——抽象掉其中的所有復雜性。

對這些階段的研判基本確定了我們應如何看待如今的多鍊格局。抽象來看,我認為Polkadot XCM/XCMP 與Cosmos IBC,以及Substrate與Cosmos SDK,已經分別在做第四、五階段的事情。

同樣作為多鏈生態,對比Polkadot與Cosmos的體系設計、技術架構的文章已有很多。作為微小的補充,本文將從輕客戶端的視角出發,比較各自的跨鏈通信機制XCMP/IBC以及開發框架Substrate/Cosmos SDK。

最後,提出了一些個人思考作為結尾。

2、架構

正如Cosmos文檔中所描述的:「Cosmos不是一個產品,而是一個建立在一組模塊化、適應性強和可互相替換工具之上的生態系統」。我對Polkadot的理解亦是如此。

在正文開始之前,我們先從高維層面快速過一遍它們的體系結構。

2.1Polkadot

圖片來源:https://coinmarketcap.com/alexandria/article/a-deep-dive-into-polkadot https://polkadotters.medium.com/polkadot-architecture-6d150dd1253e

中繼鍊是Polkadot的核心,平行鏈之間彼此獨立,但統一連接到中繼鏈,以共享其安全性。 Collators逐一收集平行鏈上的交易、生成狀態轉換證明,提交給中繼鏈,由Validators驗證這些證明,並執行共識,在中繼鏈上出塊。 Nominators負責挑選Validators,並需要為他們質押DOT,以保護中繼鏈。

Polkadot平行鏈的安全性依賴於中繼鏈,中繼鍊為平行鏈提供共享安全性和狀態一致性。

2.2Cosmos

圖片來源:https://v1.cosmos.network/intro

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

圖片來源:https://w3f.github.io/parachain-implementers-guide/messaging.html

Polkadot 採用UMP、DMP在平行鍊和中繼鏈間進行上、下行的消息傳遞,並基於XCMP(Cross-Chain Message Passing)進行平行鏈間消息傳遞。 XCMP 仍在開發中,目前的實際使用的跨鏈方案是HRMP(Horizontal Relay-routed Message Passing)。

HRMP提供與XCMP相同的接口和功能,但需要將所有消息放置在中繼鏈的存儲(storage)。對中繼鏈而言,產生了額外的消息負載。而XCMP僅僅將與消息關聯的元數據哈希存儲在中繼鏈。因此HRMP作為暫時的過渡方案,在未來將被XCMP所替代。

圖片來源:根據https://www.youtube.com/watch?v=dyx-ePhuQRg自己畫的

上圖描述了XCMP的工作原理:

平行鏈間可以打開雙向通道,分別用於接收和發送消息。平行鏈A和平行鏈B之間進行XCMP通信,首先需要各自鏈上的Collators將消息、目的地和時間戳加入到自己的輸出隊列,而對方監測到消息後,將其加入到自己的輸入隊列,處理這條消息,並把區塊提交給Validators。 Validators對消息進行驗證,隨後將該區塊包含在中繼鏈上。這樣視作完成一次跨鏈消息傳遞。

鏈與鏈之間、或是說不同的共識系統之間,消息格式缺乏兼容性,各有各的一套消息傳遞方式和標準。

如果我們想要進行進一步的跨共識互操作,需要一種更通用的「語言」——高階地抽像出這些消息的意圖,為共識系統間通信的數據報提供一個基本框架。同時需要考慮到智能合約或區塊鏈的潛在升級,所以這樣的語言還必須做到前向兼容和可擴展。

圖片來源:https://medium.com/polkadot-network/xcm-the-cross-consensus-message-format-3b77b1373392

今年五月初,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網絡的互操作性在協議層上更加統一。

圖片來源:https://apps.moonbeam.network/moonbeam

在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可分解為傳輸層和應用層。傳輸層提供必要的基礎設施以在鏈間建立安全連接和驗證數據包;應用層準確定義了這些數據包應該如何被發送方打包、以及如何被接收方解釋。

圖片來源:IOSG Ventures

上圖描述了IBC數據包的生命週期。

圖片來源:https://v1.cosmos.network/intro

IBC採用「鎖定-鑄造」的資產跨鏈模型。如上圖,Zone A想要將資產跨鏈轉移到Zone B,需要鎖定代幣並將證明發送給Zone B,經驗證後,Zone B在本身鏈上鑄造等量的代幣。該過程中資產並非產生了實際轉移,而是在Zone A鎖定這筆資產,在Zone B重新鑄造了等額的同一資產。

最終性(Finality)指的是加密貨幣交易一旦完成,即無法被任意更改或取消。以上過程描述的是即時最終性的情況。而對於比特幣這樣的概率最終性區塊鏈,需要引入Peg-Zone作為代理鏈(注:目前Cosmos與以太坊之間的Peg-Zone是Gravity Bridge),並確定一個最終性的閾值:例如,假定某條鏈在某筆交易發生之後產出了100個新區塊,認為實現了(偽)最終性。

圖片來源:https://hub.mintscan.io/ecosystem

當前,Cosmos生態中已經囊括39條鏈、78個驗證人,總質押資產價值超過31億美金。一些潛在的空投機會成為了吸引用戶流入Cosmos生態動力之一。但Terra的香消玉殞顯然對Cosmos生態造成了巨大破壞,使生態的總鎖倉量縮水嚴重。

3.3輕客戶端

圖片來源:https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8

根據1kx合夥人Dmitriy對跨鏈橋的劃分,我們從輕客戶端的角度來看XCMP和IBC。

輕客戶端(或輕節點)最早是區別於全節點的一種說法,用於比特幣的簡化支付驗證(SPV)。更廣義來講,智能合約也可以是輕客戶端。這樣的輕客戶端往往不與鏈進行直接交互,而依賴全節點作為中介,從全節點請求某種信息,例如發送交易、驗證賬戶餘額和請求區塊頭。

**在跨鏈通信時,中繼者對源鏈上的事件進行監控,並生成事件的密碼學證明,將證明與區塊頭一起轉發到目標鏈上的智能合約(即輕客戶端)。輕客戶端驗證某一特定事件,並以此為憑據,執行某些動作。 **以上我們討論的Polkadot XCMP和Cosmos IBC都採用了輕客戶端模型。

圖片來源:https://near.org/zh/bridge/

除此之外,NEAR的RainbowBridge也是典型的輕客戶端模型。輕客戶端作為智能合約,分別部署在以太坊(存儲NEAR的區塊頭)和NEAR(存儲以太坊的區塊頭)上。這些區塊頭由Relayer進行定期更新,更新頻率取決於經濟效率上的權衡——在以太坊上更新NEAR的區塊頭設置為12至16小時。 Connector則負責處理特定資產的跨鏈邏輯(如ERC-20代幣或NFT)。

RainbowBridge的速度與開銷主要取決於以太坊。將資產從以太坊發送到NEAR大約需要6分鐘(20 個區塊)。將資產從NEAR 發送回以太坊目前最多需要16 個小時(由於以太坊最終性的時間花費)。

3.4小結

圖片來源:IOSG Ventures

通過上述對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生態的原生支持。

圖片來源:https://docs.substrate.io/v3/getting-started/architecture/

Substrate提供三種開發方式:Substrate Node預先提供了節點配置,僅需額外配置一個JSON文件即可一鍵搭鏈;Substrate FRAME提供了一系列的模塊和組件(即上述提到的Pallet),開發者亦可編寫Pallet並進行自由組合;Substrate Core更加高維和抽象,開發者可以從頭設計運行時(注:運行時本質是狀態轉換函數,是Substrate中的核心概念,代錶鍊的狀態存儲以及狀態將被如何更改)這三種方式的開發難度和技術靈活度都是遞增的。

Polkadot和Kusama都基於Substrate進行開發。但Substrate本身是一種通用化的開發框架,支持與Polkadot的無縫連接,並不意味著所有Substrate都需要與Polkadot有強綁定的關係。

圖片來源:https://v1.cosmos.network/intro

區別於智能合約,Cosmos SDK提出了應用鏈(Application-specific Blockchains)的概念(也即為單個應用而定制的區塊鏈),並對底層的BFT共識引擎Tendermint Core和網絡層進行封裝,借助ABCI(Application Blockchain Interface)實現與應用層的連接。

除Cosmos SDK之外還有一些擴展工具作為補充,例如基於JavaScript的DeFi組件Agoric、基於Wasm的智能合約模塊CosmWasm以及基於Cosmos SDK的EVM實現Ethermint。

開發框架整體上提供的功能和工具大同小異,在細微處有不同的設計理念,在這裡暫不再詳細展開。

圖片來源:https://medium.com/electric-capital/electric-capital-developer-report-2021-f37874efea6d

根據Electric Capital的報告,自2017年起,Web3開發者數量開始實現大幅增長,截至2021年底,有超過18,000名開發者活躍在Web3領域。然而,對比傳統開發者而言仍佔少數。從行業發展的角度考慮,需要進一步降低鏈上應用開發的門檻,做好開發者服務。

繁榮的生態會吸引更多優質的開發者加入,畢竟Substrate和Cosmos SDK都強調了接入各自生態的便利性。事實上,選擇開發框架也與選擇其後的生態密不可分。

4.1小結

圖片來源:IOSG Ventures

同樣,我們對Substrate和Cosmos SDK進行了簡單的對比。

5、思考與結語

  1. 我部分同意「胖應用」的論據(同時協議也未必需要「瘦」)。 **在工程上,不同鏈有不同鏈的權衡取捨,針對不同目標各自提出了獨出心裁的技術方案,但諸如此類基礎設施的終極目標是相對一致的——服務於應用。 **我們不是要造空中樓閣,拋開應用空談技術是書生意氣。回看18、19年的敘事,動輒「以太坊殺手」、「百萬TPS」,用戶關心這些嗎?也許並不關心。所以應當有一些小而美的應用、用戶接受度高的應用,先在鏈上跑起來。 (我認為符合此描述的其中一個應用是NFT Marketplace聚合器gem.xyz, 界面清爽、功能好用,對很多用戶來說這就足夠了)

  2. 以太坊的設計使得建立在其上的應用和協議彼此受限、且不可避免地競爭底層資源。多鏈生態的起勢一定程度上分擔了以太坊的壓力,但實際上也在蠶食其領先地位。與此同時,在熊市的視角下,以太坊回歸到相對合理的Gas費用和交易速度也削弱了資金外流的動力。 **短期來看,各條鏈能否產生「賺錢效應」是吸引用戶流入的主要引力(例如DeFi Kingdoms和STEPN)。中長期來看,用戶流向與各條鏈生態的整體質量密不可分。 **最終用戶會用其資金投票,使鏈間的競爭關係達到相對均衡。

  3. 可組合性、互操作性激發了新的敘事,但隱含的風險同樣不容忽視。兩年前我們只在以太坊上搭樂高,3月12日的極端行情中,協議的層疊嵌套以及枯竭的流動性就引發了系統性風險。在近一年來的多鍊格局之下,我們有了更多的錨、跨鏈橋,以及更複雜的協議,但仍未經歷那樣的嚴峻考驗。 Terra帝國的分崩離析也許僅僅是一個先兆。況且,當前市場處於中長期的下行趨勢,我們需要如履薄冰,主動預估和評判風險。

  4. 需要承認,當前的多鏈生態依舊有些「虛胖」,一些看似繁榮的生態,說到底是一套協議、一套代碼在另一條鏈上重新開設賭局而已。 **生態繁榮與否,不是單純看項目數的多少,而需要綜合評判用戶的活躍度和資金的持續性。 **此外,資產跨鏈仍然是當下跨鏈的主要用例。在未來我們可以期待或者預見一些其他應用場景。一些有趣的用例可能是:在做DID時我們需要評估多鏈的活動軌跡;在做NFT借貸時我們可以抵押多鏈的NFT資產;甚至根據多鏈的資產活動變化以輔助套利決策;諸如此類。

  5. 跨鏈基礎設施已經箭在弦上,但真正點燃多鏈生態需要大規模的增量用戶,**僅僅是瞄準存量用戶的博弈、僅僅是資金在鏈間的輾轉騰挪,無法帶來指數級增長。 **考慮到這一點,提供用戶友好的入口(例如多鏈錢包)至關重要。

圖片來源:https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8

我們應如何展望未來的多鍊格局?在上圖(截至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/

Total
0
Shares
Related Posts