詳解多鏈生態現狀與未來格局:我們處在哪個階段?

下一個大周期的敘事是圍繞各個鏈上優質應用構建起來的多鏈生態。

原文標題:《IOSG Weekly Brief|多鏈生態:我們的當前階段與未來格局#13》

撰文:Jiawei

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.1.Polkadot

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

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

2.2.Cosmos

Cosmos 包含兩種類型的區塊鏈:Zones 和Hubs。 Zones 是常規的異構鏈,Hubs 則用於把這些Zones 連接起來。 Zone 和Hubs 之間的通信和消息傳遞依賴於IBC(Inter-blockchain Communication)協議。當任意Zone 與一個Hub 建立IBC 連接時,它可以與連接到該Hub 的其他Zones 進行通信。

Cosmos Hub 是整個網絡中的第一個Hub,標誌著Cosmos 網絡的啟動。

3、通信機制

對兩個跨鏈生態有了基本認識之後,我們來具體看各自的通信機制。

3.1.Polkadot XCM / XCMP

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

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

圖片來源:根據,IOSG Ventures

上圖描述了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.2.Cosmos IBC

自底向上地,Cosmos 的體係依次基於Tendermint Core、IBC 和Cosmos SDK,三者分別是BFT 共識引擎、跨鏈通信協議和開發框架。

作為跨鏈通信協議的IBC 於去年3 月在Cosmos Stargate 升級時正式開始實施,其語義和設計原理由鏈間標準ICS(Inter-chain Standard)所製定。

類比於互聯網通信協議TCP / IP 的層級體系,IBC 可分解為傳輸層和應用層。傳輸層提供必要的基礎設施以在鏈間建立安全連接和驗證數據包;應用層準確定義了這些數據包應該如何被發送方打包、以及如何被接收方解釋。

圖片來源:IOSG Ventures

上圖描述了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. 輕客戶端

我們從輕客戶端的角度來看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. 小結

圖片來源: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 與以太坊的跨鏈,不像前兩者屬於跨鏈生態,但作為輕客戶端的一種,我們同樣放在這裡做個對比。)

注:以上/ 下案例項目均為IOSG Portfolio,舉例僅供信息交流,不構成投資建議。個人投資決策請DYOR!

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。

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

(PS:一些主觀的看法:在寫作本文的時候,筆者在Polkadot 和Cosmos 的Discord 開發者頻道提了一些問題。在Cosmos 提問時有專門的開發者社區Mod 建立一個子區,一對一回答問題,是比較好的體驗)

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

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

4.1. 小結

圖片來源:IOSG Ventures

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

5、思考與結語

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

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

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

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

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

圖片來源

我們應如何展望未來的多鍊格局?在上圖(截至2021 年9 月),我們已經看到跨鏈生態正在變得繁榮起來,雖然在熊市中不可避免地顯現頹勢,但客觀來說,跨鏈基礎設施已經相對完善。 (儘管如此,黑客對於跨鏈設施漏洞的攻擊仍然層出不窮,保持樂觀,但也應小心謹慎。)

合理猜測,下一個大周期的敘事是圍繞各個鏈上優質應用構建起來的多鏈生態。 「搭一條公鏈,滿足所有需求」類似的言論可能會成為歷史,畢竟我們的確沒有必要在一條鏈上做完所有事情。期待在未來湧現出更多的應用鏈。

當下,我們仍處在多鍊格局的早期階段。

Total
0
Shares
Related Posts