話題|波卡的跨鏈資訊傳遞 (XCMP) 意味著什麼?

買賣虛擬貨幣

加入 www.polkaworld.org 社羣,共建 Web 3.0!

跨鏈訊息傳遞 (XCMP) 對波卡有什麼重要意義,對整個區塊鏈行業有什麼意義?

本期的 PolkaWorld 話題討論,我們找到了 6 位波卡生態的開發者,來談談他們對 XCMP 的看法。雖然是開發者的討論,但是大家用了很多類比,讓沒有技術背景的人也可以很容易地理解跨鏈訊息傳遞的意義。所以這篇文章,我們推薦每一個關心波卡、跨鏈和區塊鏈的發展的人都來讀一讀。

關於 XCMP 的更多資訊可以檢視《Polkadot 的跨鏈訊息傳遞方案(XCMP)》。

讓波卡生態的區塊鏈之間能安全、高效地互動

Laminar CTO 陳錫亮

一個不是非常準確的比喻:

比特幣網路就好比一臺大型伺服器,有著非常完善(和昂貴)的安保,只允許一個程式,就是記賬。速度有限,功能有限,但是作為全世界唯一的一臺如此無處不在如此安全的伺服器,大家都很願意使用。

以太坊則是重新搭建了一臺大型伺服器,也有著完善的安保。但和比特幣不同,這個伺服器執行開發者上傳自己的軟體,就可以支援各種各樣不同的應用了。不同應用直接還可以互相呼叫,構建了一個豐富的生態。但作為一臺伺服器,效能是有限的,不同應用之間也需要爭奪執行的權利,有著種種弊端。

那麼怎麼辦呢?一臺伺服器效能不夠,那就多搭建幾臺唄。但是搭建一臺去中心化的伺服器是非常昂貴的,也是非常困難的。所以波卡就提供了一個解決方案:我搭建一個機房,一開始有 100 臺伺服器,你們只要付少量的租金就可以把其中一臺租給你,所有的安保我都幫你解決。這就是波卡的共享安全,讓平行鏈專案可以廉價地共享波卡網路的安全性。

但單純的有一臺伺服器,其實是不夠的。比如說要開發一個遊戲鏈,那麼需要給使用者一個充值的功能。使用者的賬本可能是放在另外一臺伺服器的,那麼就需要有一個跨鏈協議才可以充值。如果是賬本伺服器和遊戲伺服器不是在一個機房,那麼所有的互動都要跨過安全屏障,困難重重。但波卡的平行鏈和波卡中繼鏈互動則簡單了很多,因為它們的伺服器都是在同一個機房之中,互相可以有內部直連的網線,所以互動無需跨過安全屏障。這樣就使得波卡生態之間的專案可以高效、安全地跨鏈互動,這就是 XCMP。

從 “區塊鏈的鬆散集合” 到 “互動的生態系統”

波卡技術大使 John

我們知道,波卡生態是由中繼鏈和許多平行鏈(包括平行絲)組成的。我一直把波卡的整個架構比喻成以太坊超級升級版:在其他基本不變的情況下,在以太坊生態中的智慧合約在波卡生態中則是以平行鏈的形式存在的應用鏈。

而大家都知道以太坊的合約之間是可以互動的,舉個例子你可以把 MakerDAO 產生的 Dai 拿到 Uniswap 裡面去交易,這是因為在以太坊中所有智慧合約之間的呼叫語言是統一的,也就是說一個智慧合約能理解另一個智慧合約發來的資訊。

既然波卡是以太坊的升級版,而合約之間可以互動,那麼應用鏈也必須能夠互相互動。而 XCMP 就規定了這些應用鏈和中繼鏈之間的相互互動的規範。應用鏈也可以透過中繼鏈互相理解對方的資訊,於是波卡不再是一些零星區塊鏈的鬆散集合,而變成了一個保持互動的龐大的生態系統。在 Substrate 開發框架的基礎上,正是由於 XCMP 的存在,使得波卡成為異構分片的領跑者,在設計架構上當之無愧可以說是下一代的以太坊。

區塊鏈世界的 TCP/IP 協議

冰鏈科技創始人、Ethereum Community Fund 專家委員張曉

從目前區塊鏈技術的發展來看,未來的區塊鏈網路一定是多種區塊鏈結構共存的。因為不同的應用場景對區塊鏈設計的需求肯定是不一樣的,例如有的區塊鏈需要高效,有的需要保護隱私,有的需要支援特定的硬體,有的需要在某國合規……所以 “設計一條區塊鏈來包打天下,滿足一切應用場景” 這樣的想法是不切實際的,也是不太可能實現的。從計算機工程的角度上講,就是沒有最好的設計,一切都是 trade-off(設計指標的權衡和取捨)。

既然未來一定是多種區塊鏈共存,那麼鏈與鏈之間的交流和溝通就非常重要了,否則我們又要回到資訊孤島、資料煙囪的時代。波卡跨鏈最大的設計優勢就是可以實現鏈與鏈之間價值和資訊的互聯互通。做一個簡單的類比,可以把每條區塊鏈都想象為一個國家。價值互通,就相當於建設了國際金融和貿易市場,讓資本和貨物可以跨國流動。資訊互通,就相當於建設了國際因特網,讓資訊可以跨國分享。這樣,世界各國就從閉關鎖國、各自為政的狀態進入了全球化大分工、大發展的時代。這對人類文明的促進作用是不言而喻的。

跨鏈訊息傳遞協議(XCMP)對於波卡的作用和意義相當於網際網路世界的 TCP/IP 協議。不同結構、不同功能的平行鏈(Parachain),透過統一的 XCMP 協議進行連線,每條鏈專注做好自己擅長的工作(來自 Unix 哲學的微笑),然後透過巧妙的排列組合和網路放大效應,就可以實現讓人眼花繚亂的應用創新。比如我們現在在論證的一個資料資產類的公鏈設計,就可能要用到資料儲存、存證確權、DeFi 穩定幣、Tokenization 和隱私計算相關的功能。每個功能都由相應的平行鏈來提供,組合在一起,就可以實現一個充滿科幻感的資料資產市場公鏈。

值得一提的是,現在以跨鏈為口號的公鏈並不在少數。但是此跨鏈非彼跨鏈,XCMP 協議能在波卡區塊鏈上實現,離不開波卡底層的優異設計,尤其是共享安全模型的思想(shared securiry model)。與之相對的,是橋接模型(bridge model)。我們用上面國與國的場景來舉個例子。如果 A 國通知 B 國,A 國的張三給 B 國的李四進行了一筆轉賬,B 國把錢給了李四,李四把錢拿走之後,A 國又告訴 B 國我們銀行的會計都是實習生,算錯賬了,剛才的轉賬作廢,那 B 國是不是就要傻眼了?根據木桶理論,木桶的容量取決於最短的那根木板。所以在橋接模型下,互相連通的區塊鏈的集體安全,取決於安全性最差的那條鏈。也就是說,橋接模型下的跨鏈,是基於信任的跨鏈(trust-based),而非去信任(trsutless)的跨鏈。而使用波卡區塊鏈的共享安全模型,所有的平行鏈都可以共享波卡中繼鏈上的驗證節點提供的最高等級的安全保障。其它平行鏈可能透過分叉來賴賬的顧慮就不復存在了,這樣平行鏈之間才能實現無需信任(trustless)的跨鏈互通。

最近看了 XCMP 的 API 設計,已經為開發者們抽象好了很簡潔的介面,使用上是比較方便的。我們也很期待後續的測試和上線的訊息。

讓區塊鏈能像 DAPP 一樣互相互動 ,卻又不像 DAPP 一樣互相爭奪資源

Acala Network CTO 王健江

多年來以太坊上 DAPP 聚合成的強大生態,是讓其他公鏈所羨慕的。

在以太坊上,你想到過的以及還未想到的一些 DAPP,可能都已經實現,而且這些 DAPP 之間相輔相成,互相連線。比如我們熟悉的 DeFi 就是一個由超額抵押借貸穩定幣,去中心化交易所,點對點借貸等眾多 DAPP 聚合而成的商業整體。

基於以太坊提供了一致的執行環境與介面,DAPP 之間可以自由地傳遞資訊與相互操作,以太坊生態彷彿是一個不斷髮散需求,自我迴圈的共同生命體。但是,底層的設計決定了這個生命體的先天不足與極其脆弱,所有的 DAPP 都在使用相同的底層資源,平時壓力不大時看似運轉得井然有序,當出現價格崩跌之類的情況時,以太坊網路通常開始變得擁堵,一些 DAPP 的運轉近乎停滯,使用者蒙受了巨大的損失。

我們不由得思考,以太坊本身糟糕的效能,如何承載去中心化商業應用的需求?

首先,DAPP 之間需要傳遞資訊並不等於其所有業務都需要跨 DAPP 通訊,也不等於所有 DAPP 之間都要兩兩相互通訊,區塊鏈行業需要拿出更好的解決方案,去兼得高效能與低成本的資訊傳遞。

波卡的 XCMP 使得 DAPP 可以選擇執行在獨立運算資源的一條平行鏈上,擁有著高 tps 來處理業務,平行鏈之間可以透過中繼鏈這個樞紐進行資訊傳遞,整個流程都受共識約束,享有獨立資源的同時也能互相通訊,DAPP 之間競爭底層資源的常態將不復存在。這個由平行鏈和中繼鏈構成的生命體會是更加健壯的,有著更多的商業可能,這也是 Acala 選擇波卡生態的重要原因。如果說過去在以太坊上證明了去中心化商業的模式確實可行,波卡則承載著去中心化商業真正落地的星辰大海。

網路效應和效率提升

Phala Network 聯合創始人 Marvin

業界公認跨鏈的難點,在於保持安全性、效能的前提下實現真正的互操作性:這一部分的難點是需要實現跨鏈資料通訊,因為資產跨鏈其實有不少可用解法。因此如果不能充分利用波卡的跨鏈能力,僅僅成為平行鏈是沒有意義的。當一條平行鏈連線到波卡之後,就意味著它得到了平行鏈之間的通訊能力。XCMP 協議實現了鏈間的通訊,波卡的共識演算法就主要為它服務。

平行鏈可以向另一條鏈傳送訊息,XCMP 確保訊息依照次序、準確無誤的投遞到目的地。收到訊息的鏈可以採取任意的邏輯來解讀。波卡創造性地實現了鏈間“共享安全性”,不僅確保平行鏈區塊的產生與接受,更重要的是保持整個網路狀態的一致性。在沒有共享安全性的網路上,任何操作都需要大量的區塊確認時間(就像中心化交易所一樣)。網路的確定性是 XCMP 能夠得以實施的關鍵。下面我從兩個角度說下:

第一是網路效應,目前我們看到跨鏈有兩種方式:

- 第一種是獨立的橋,例如 ETH-BTC 橋,一般用來連線兩個獨立的鏈。典型例子就是 RSK,他用聯盟的方式實現,在 BTC 上建立了一個多重簽名錢包,由多個機構持有。這些機構觀測到收款就會在 RSK 鏈上發行對應的跨鏈資產,反之亦然。橋的兩端都支援智慧合約,就可以實現更去中心化的協議。

- 第二種就是波卡平行鏈上的橋。波卡提供的其實是平行鏈之間的通訊能力,但如果波卡下的鏈要和博卡生態外的鏈通訊,就要藉助轉接橋了。平行鏈上可以實現一個或多個轉接橋,就像和剛剛提到的獨立橋一樣,可以採用多樣的技術。但因為波卡提供了平行鏈之間的通訊,一條平行鏈上實現的橋,不僅可以為自己服務,也可以為其他平行鏈服務。這樣就形成了網路效應。

第二是基於共享安全性的效率提升。

如果關注波卡官方,會發現他們一直在反覆提 “共享安全性” 這個概念,這是一個非常非常重要的功能,可以說沒有共享安全性,跨鏈的意義會大打折扣。

波卡允許平行鏈之間相互呼叫,比如我的鏈上發的 Token,可以被另一個 DEX 鏈使用。大家都用過交易所,充提幣需要等待幾個區塊確認,這是為了保證轉賬的安全。如果不等待,交易還沒有結算,那麼鏈一旦出現回滾等問題,交易所就會丟錢。而波卡的設計就解決了這個問題,所有鏈的交易同步執行,由波卡驗證人統一驗證。

這種安全跨鏈能力是我們選擇波卡的主要原因,目前波卡平行鏈已經開源,即將上線,詳細跨鏈通訊也會很快推出。

XCMP 是非常底層的基礎設施,直接使用 XCMP 實現應用層的跨鏈依然是很繁重的工作,因為 XCMP 只負責訊息的傳送,但沒有定義接受方如何響應。波卡提出的解決方案稱為 SPREE (共享安全區):SPREE 允許在每個平行鏈上開闢一塊與平行鏈獨立的安全區,在裡面執行公認安全的程式碼,確保這份程式碼不會受到平行鏈的干擾,從而解決接收方不可信的問題。利用 SPREE 可以實現非常高效的跨鏈資產轉移。這部分和 TEE 思路很類似,當然我們也很讚賞~

被連線的鏈越多,使用場景就越多

Plasm CTO 渡邊創太

波卡是下一代創新的基礎。從我的理解來說,這意味著我們能夠創造聯合的用例。比如我們假設 Plasm 網路和 Acala 網路是相互連線的,那麼我們就能做出可伸縮的、即時性的穩定幣支付系統了 。這只是個簡單的案例,被連線起來的區塊鏈越多,我們能做出的使用場景就越多。這是遊戲規則的改變者。

歡迎學習 Substrate:

https://substrate.dev/

關注 Substrate 進展:

https://github.com/paritytech/substrate

關注 Polkadot 進展:

https://github.com/paritytech/polkadot

申請 Bootcamp:

https://bootcamp.web3.foundation/

直播預告:

識別下方二維碼,報名下週三的線上直播「Substrate的無分叉升級和利用OffchainWorkers建立身份Oracles」⬇️

更多內容:

Polkadot 的跨鏈訊息傳遞方案(XCMP)

Substrate Offchain Workers

用十幾分鍾開發出一條區塊鏈|Substrate 區塊鏈框架

掃碼關注公眾號,回覆 “1” 加入波卡群

關注 PolkaWorld

發現Web 3.0 時代新機遇

點個 “在看” 再走吧!

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;