2020 焦點前瞻:讀懂跨鏈技術的核心,瞭解區塊鏈互操作性

買賣虛擬貨幣
本文為鏈聞推出的「2020 焦點前瞻」系列文章的一篇。2019 年是 Cosmos 生態起步的年份。隨著 Cosmos Hub 和 IRISnet 在 2019 年上半年上線,「跨鏈」成為該年度熱門概念之一。不過,無論是 Cosmos 最重要、也最值得期待的元件「跨鏈通訊協議 IBC」,還是另外一個巨型跨鏈專案 Polkadot,真正的交付期都在 2020 年——真正的「跨鏈」相關核心技術的發展,應該看向 2020 年。鏈聞向讀者介紹由總部位於紐約的加密資產研究機構 Digital Asset Research 撰寫的關於「區塊鏈互操作性」的專題研究報告,幫助讀者更好理解「跨鏈」這個複雜的技術領域,迎接 2020 年的到來。撰文:Lucas Nuzzi,加密資產研究機構 Digital Asset Research 聯合創始人兼技術總監

編譯:詹涓

隨著 Cosmos 在 2019 年上半年上線,以及市場對計劃在 2020 年上線的 Polkadot 的密切關注,「跨鏈」或者「區塊鏈互操作性」是一個熱門的領域。區塊鏈互操作性現在是一個討論挺多,但是同時又有些令人費解、有點神秘的話題。簡單來說,「互操作性」源於一個簡單的前提,那就是開發出共兩個區塊鏈交換資訊的方式。時至今日,這個領域的技術非常複雜。

為了說清楚區塊鏈互操作性,我們撰寫了本篇文章,目的是對透過中介網路實現互操作性的主要方法做一個概述。這篇文章探討「互操作性」和「可組合性」在以太坊、Cosmos、Polkadot (波卡鏈)等場景中的區別,以及為什麼這種區別無疑會改變人們對價值創造的看法。

儘管關於「區塊鏈互操作性」的術語已在不同上下文中都有所使用,但我們只是將其定義為「交換資訊的能力」,特別是當它涉及到從一個加密貨幣網路到另一個加密貨幣網路的各類資產的所有權時。

根據定義,所有區塊鏈共享一個公共的資料結構來組織和達成所有權變更的共識。即使區塊鏈的實現方式千差萬別,比如比特幣和以太坊就各有不同,但都會使用 Merkle 樹將事務按時間間隔(即區塊),以類似的方式連結起來,當這些區塊連結在一起時,就形成了完整的事務歷史——區塊鏈。儘管在過去五年裡,「區塊鏈」這個詞已經變成了一個語義上的噩夢,但它的詞源和技術本質仍然與比特幣、以太坊和大多數介乎二者之間的加密貨幣網路相同。

然而,儘管有這些相似之處,以太坊智慧合約並沒有可靠的機制來驗證比特幣事務是否得到充分確認,反之亦然。因此,我們今天存在大量的區塊鏈網路,儘管基礎上說,它們擁有相同的共識體系,但是由於缺乏用於傳輸這些證明的健壯的傳輸層,它們被孤立了起來。這一認識催生出後來被稱為區塊鏈互操作性的解決方案的發展,特別是在過去三年中,其複雜性級別各不相同。

如今,區塊鏈互操作性這個術語被用來描述一套同時進行、但又完全不同的技術;從去中心化交易所到聯合側鏈 (federated sidechains),再到像 Cosmos 和 Polkadot 這樣的中介網路。這導致了人們對什麼是區塊鏈互操作性,以及如何實現互操作性,理解起來非常含混不清。

2017 年底出現了數十個專案,它們利用了這個術語的複雜性,推出了與在不同加密貨幣網路之間橋接資訊壓根無關的解決方案和代幣,這令局面更加混亂。

在 DAR,我們推出了「互操作性中介指數」(Interoperability Intermediary Index, DII) 希望更好地追蹤跨鏈類專案代幣的表現,比較這類投資主題標的的估值情況。該指數顯示,在 2017 年的投機泡沫之後,互操作性解決方案的代幣,包括 ICX、AION、WAN 和 ATOM 的價格大幅下降:

除了幾乎所有「互操作性中介指數」成分代幣都面臨一些自身的問題之外,我們也將這種走勢下滑歸結於幾個原因:互操作性作為一個主題,其複雜性與日俱增;這種技術缺乏相關用例;以及在 2018 年熊市期間對代幣化解決方案的懷疑不斷增加。

儘管代幣化互操作性解決方案的價格表現令人失望,這降低了主流對該技術的整體興趣,但隨著行業的成熟,我們仍會繼續將互操作性視為重要的發展方向。關於跨鏈的投資主題的核心是:當不同的資產和應用程式被視為一個整體向前發展時,透過加密貨幣網路交換資訊和資產的能力,將使市場的力量可以更有效地發揮作用。

儘管加密貨幣市場通常是整合的,但是大多數去中心化應用程式缺乏有意義的用途,再加上難以理解的技術被人無休止的炒作,這最終會對市場效率造成障礙。我們相信,不斷增強的連通性,尤其是比特幣和以太坊之間的連通性,可以增加有用的應用程式的使用量,讓「霧件」(Vaporware,指由開發者在產品開發期間或者之前公佈訊息,而因此可能不會發布的產品,多數是指某些軟體)更容易被發現。本質上,互操作性可以作為專案成功與否的催化劑,我們將其視為值得追求的自由市場的基元。

我們認為,以下潛在的好處促使開發人員和研究人員開始探索區塊鏈互操作性:

· 市場效率
上文已經描述關於 DApp 的「無形之手」。使用者和開發人員能夠跨區塊鏈選擇特定的應用程式,並讓市場效率挑戰所有已部署應用程式的產品市場適應性。

· 可伸縮性
互操作性使得價值的傳遞能夠跨多個網路並行化,而不是使用一個單一的區塊鏈來處理和儲存單個執行緒上的所有事務。智慧合約的計算也可以並行化,從而增加某些應用程式的潛在功能。

· 功能專業化
將服務、去中心化應用程式或金融產品的功能外包,或交給到高度專業化的網路的能力。

· 跨鏈預言機和身份體系
跨區塊鏈驗證事件和身份的能力,以及一個區塊鏈中的事件觸發位於不同區塊鏈中的合約執行的能力。

· 資產留置
一個區塊鏈中的合約在另一個鏈中保證或擔保餘額的能力。這些餘額之後可以被合約用作金融衍生品、槓桿產品、破產收回、留置權以及任何可能需要抵押或保證金的用例的抵押品。

· Generalized Mining 與治理
互操作性可以使一個網路的利益相關者參與不同網路的事務驗證和治理。類似地,它使利益相關者能夠作為權益池進行操作,並在利用該機制的網路上戰略性地部署其權益。

實現區塊鏈互操作性的多種方法

雖然區塊鏈互操作性似乎是這個行業所能提供的最尖端的「元」主題之一,但這個概念本身和比特幣差不多是前後腳問世的。

事實上,在並行執行的多個區塊鏈之間橋接資訊的想法(即側鏈的概念)可以追溯到 2010 年,當時提出了 BitDNS,即基於比特幣的域名服務(該資料庫將人類可讀的 URL 轉換為數字 IP 地址)。儘管 BitDNS 從未在比特幣中實現過,但它開啟了區塊鏈互操作性的初步討論,並在接下來的幾年中催生了側鏈的潛在用例。

如今,在引入側鏈概念九年之後,促進區塊鏈互操作性的可用實現仍然處於起步階段。從我們的角度來看,目前的區塊鏈互操作性可以分為四個大類:

雖然上面圖中描述的四種非常通用的方法都有各自的特點,但是最終的目標是相同的:從一個區塊鏈鏈中獲取資產 / 資訊,驗證它的存在和一些先決條件(例如時間鎖),然後在另一個鏈中「合成地」重構它。

如果你以前讀過關於區塊鏈互操作性的內容,那麼你可能已經看到過原子 (atomic) 這個詞的使用,比如原子交換。在區塊鏈互操作性的上下文中,這個術語要麼被用來描述資產交換(例如 swap)的所有底層操作將確定會成功執行,要麼則說的是根本沒有發生任何操作。在沒有第三方的情況下,原子性是必需的,因為如果交換的一方失敗而另一方成功,則其中一方將受到不對等的損害。

無需信任和非託管系統尤其難以開發,因為它們需要設計一個單一的系統來滿足完全不同的區塊鏈,比如比特幣和以太坊。這意味著必須對具體的資料結構、數字簽名和共識最終性進行翻譯和概括,而這並非易事。這導致了幾個互操作性中介體的建立,它們解決這個問題的方法是建立一個代幣化的獨立區塊鏈,擁有自己的共識引擎和智慧合約功能,從而橋接跨區塊鏈的資產流。

為了更好地理解透過中介實現互操作性,可以考慮以下假設場景:Alice 將部分儲蓄以比特幣的形式儲存,希望從執行在以太坊網路之上的銀行那裡獲得貸款。為了評估這筆貸款的風險,銀行需要審計 Alice 的財務記錄,並持有抵押品,以防她沒能按期償付。透過一個互操作中介體,銀行在比特幣上建立了一個智慧合約(多重簽名),在貸款期間可有效鎖定 Alice 的抵押品。在中介體的幫助下,該合約可用程式設計方式將抵押品返還給 Alice,或者在她未能及時償付的情況下將抵押品轉移到銀行。透過這種方式,Alice 可以選擇用哪個網路儲存她的抵押品,但仍然可以從其他網路提供的服務中獲益。

在 2016 年那會兒,人們認為使用中介體來中繼跨鏈通訊,可以簡化許多阻礙完全互操作區塊鏈的摩擦。由於不同的網路需要不同的確認時間(對於有技術上有點悟性的人來說,這就是經濟最終性閾值),所以人們認為,中介體的存在可以使加密貨幣網路之間的資訊流動更簡單,而且在重整 (reorgs) 或共識失敗的情況下可能更安全。

儘管從更高階的角度來看這一點沒錯,但是在過去的幾年來,事實證明,新增的中介層在構建和保護方面極具挑戰性。

可組合性 vs. 互操作性

隨著互操作性中介體發展成為成熟的智慧合約平臺,它們開始在共識引擎、虛擬機器和網路協議中面臨與以太坊等專案同樣的實現挑戰。

由於互操作性中介層和智慧合約平臺之間的界限隨著實現問題的出現而變得模糊,因此必須對「互操作性」和「可組合性」做出明確的區分,才能有效評估當前連線區塊鏈的方法。雖然這些術語經常可以互換使用,但總結一下它們之間的差異無疑會改變人們對價值創造的看法,特別是在以太坊、Cosmos 和 Polkadot 等智慧合約網路環境下。

簡單來說,「可組合性」(composability)是在單一環境中、根據特定需求定義(和更改)應用程式的能力。例如,在雲端計算中,可組合性是 IT 基礎設施的一種流行方法,因為它使得開發人員能在其應用程式發展時選擇和擴充套件雲服務。透過 AWS 這樣的平臺,系統管理員不需要本地獲取、配置和維護專門的硬體來支援其業務。

相反,系統管理員可以選擇計算、儲存、網路工具和身份解決方案作為獨立的、模組化的服務,並根據需要在相同的環境中更改它們。可組合性是智慧合約平臺的關鍵,因為它們試圖向 DApp 開發人員模仿這些類似的好處。另一方面,「互操作性」(interoperability)則類似於系統在不同環境(如 AWS 和 Azure,或比特幣和以太坊)之間獲取服務和交換資訊的能力。

為了更好地瞭解這種差異,讓我們更仔細地觀察一下以太坊上的可組合性。

以太坊透過一個用於圖靈完備計算的單一驗證環境——以太坊虛擬機器 (EVM) 來追求可組合性。透過這種做法,以太坊 DApp 至少在理論上能夠利用網路中現有的服務,並且像 AWS 一樣,將特定的功能,例如穩定幣支付、身份解決方案、協議治理解決方案或去中心化儲存,統統外包出去。

雖然可以將其視為一種互操作性型別,但它僅限於單一環境,與橋接外生環境或加密貨幣網路無關。因此,在這種情況下使用「互操作性」這個說法可能會產生嚴重的誤導,因為它與該術語的詞源相牴觸。相反,用「使用可組合性」來描述更合適,因為它描述了相同環境中的可互操作應用程式之間的互動。

當然,單一系統中的服務專門化是有益的,因為這使得開發人員能專注於其應用程式的核心價值主張,而不必從頭開始構建其 DApp 的所有元件。假設有個叫 dUber (去中心化優步)的拼車應用。透過像以太坊這樣的平臺,dUber 的開發人員可以使用現有的網路解決方案來外包位置服務、身份管理、支付技術和公司治理。

雖然這聽起來很好,但在實踐中很難執行。除了能夠擴充套件應用程式這一明顯的挑戰之外,以太坊上可組合性的最大障礙之一在於實用代幣模型的興起,該模型要求在取得 DApp 原生代幣所有權的情況下,才能獲得它的服務。雖然某些應用程式可能需要相應的代幣來進行治理或發揮準股權的作用,但將其簡單地用作看門人無疑會破壞以太坊上的可組合性。與能夠透過 ETH 支付各種專門服務的費用不同,應用程式、它的開發人員或使用者將不得不處理額外的摩擦。

這恢復了對去中心化交易所 (DEX) 的需求,以促進對特定代幣的程式化訪問,最終加劇了區塊鏈互操作性的噩夢。儘管有數十個專案在探索去中心化交易所業務,但絕大多數仍面臨著根本性的挑戰,比如如何降低搶先交易和合謀欺詐的風險。即使未來的 DEX 將有望解決這些問題,但在使用專門服務之前獲取代幣流動性的挑戰仍然存在。因此,需要獲得某種特定的資產才能透過應用程式獲得專業化的現狀,對以太坊的可組合性產生了負面影響。

以太坊修改過的路線圖 ETH2.0 旨在緩解其中的一些摩擦,因為它的最終目標是支援可組合的體系結構,每個特定服務或 DApp 都可以擁有自己的獨立區塊鏈或分片。區塊鏈分片是以太坊實現可伸縮性的主要方法,因為它將網路劃分為許多獨立的分片,從而支援平行計算。如果成功實現,分片可以提高以太坊上的可伸縮性和可組合性。

在這個新的路線圖中,信標鏈將資訊轉發到特定的分片,這些分片可能代表獨立的 DApp 和 / 或專門的加密資產。這可能會減少實用代幣所需要的高度功能性、程式化和流動性的去中心化交易所的需求,因為鎖定在信標鏈中的資產可以在專門的分片中以合成資產的形式建立出來。不過,以太坊的底層至少還需要幾年時間才能部署這些技術。

Polkadot:一個可組合性的解決方案

Gavin Wood 是以太坊的主要實現者,也是 Polkadot 的創始人,他是最早將去中心化應用程式高度可組合性的框架概念完整地提出來的研究人員之一。Gavin Wood 在 2016 年的 Polkadot 白皮書中引入了一個相對簡單的架構,試圖規避以太坊在圍繞分片、超級立方體模型 (hypercubes) 和 Casper 的研究變得越來越複雜時所面臨的實現挑戰。作為一名活躍的以太坊開發人員,Gavin Wood 多年來在實現以太坊的重新設計和更改方面擁有第一手的經驗。

他的解決方案是透過允許相同區塊鏈的多個「迭代」(即平行鏈的方案),在彼此之間實現互操作,將 Polkadot 開發為可選方案,從而最大化可組合性。

自從引入 Polkadot 以來,我們一直密切關注著 Polkadot 和以太坊這兩個專案路線圖的演變,並且饒有興味地觀察到,隨著時間的推移,尤其是在以太坊修改了路線圖之後,Polkadot 和以太坊的總體架構是如何逐漸趨同的。

就像 Polkadot 的中繼鏈一樣,以太坊的信標鏈將充當一個樞紐,將多個分片或平行鏈連線在一起。這兩個樞紐還負責驗證事務、中繼訊息,並作為隨機預言機在權益證明下選擇區塊驗證器。而 Polkadot 似乎也從乙太網那裡借用了許多理念。2018 年 11 月,Polkadot 釋出了其旗艦共識引擎 GRANDPA 的詳細資訊,當中很多內容體現了以太坊在 Casper 專案上的主要成果。

有了分片、中繼樞紐和基於 Casper 的共識,Polkadot 和以太坊的理想版本無疑是類似的。然而,儘管存在這些架構上的相似之處,Polkadot 還是從頭開始構建,以促進其可組合性。而要在以太坊現有的應用程式和代幣化服務生態系統上實現可組合性,這將需要大量的工程和協調工作。

為了最大化可組合性,Polkadot 建立了 Substrate,這是一個用於建立與 Polkadot 相容的平行鏈的框架。透過這個框架,不必從頭構建所有的網路和共識程式碼,類似於 ERC20 代幣可以利用以太坊現有的網路基礎設施,而不必構建自己的基礎層一樣。不同之處在於,Substrate 已經實現了大部分功能,所以在上面搭建的感覺就像每個 ERC 代幣都有自己獨立的網路,具有獨特的功能和驗證器集。

互操作性和可組合性之間的區別在這裡尤其重要,因為與普遍的看法相反,Polkadot 並不是為橋接不同的加密貨幣網路(如比特幣和以太坊)而設計的。相反,該團隊致力於使基於 Substrate 的鏈完全可組合,但只能在它們之間互操作。

儘管他們確實計劃建立一套橋接合約,能夠將 Polkadot 連線到其他網路,但不可否認的是,他們的主要焦點放在 Substrate 上。因此,Polkadot 將需要開發人員有機地遷移到該平臺,並開始在該平臺上構建應用程式;這是以太坊花了三年時間才實現的。

儘管像 Aragon 這樣的資料服務提供商曾考慮在 Polkadot 上建立二級網路(最終,Aragon 選擇了 Cosmos 生態),但達到與以太坊相稱的採用率和價值積累,很可能需要很長時間。

從長遠來看,Polkadot 對可組合性的關注可能會令其獲得回報,但該專案在中短期吸引開發人員時,可能很難捍衛其估值,考慮到其 ICO 資金在 Parity 多重簽名出現漏洞後仍然處在鎖定狀態,情況更是如此。儘管如此,追蹤 Polkadot 的研究進展還是很有趣的。

Cosmos:一個互操作性的解決方案

Cosmos 在互操作性和可組合性方面採取了更務實的方法,它的堆疊基於一套現有的技術。雖然整個專案仍很複雜,但它的基礎是基於執行在 Tendermint 上的以太坊虛擬機器 (EVM) 的互聯例項,即一個 pBFT 共識引擎。共識設計是透過中介機實現互操作性的最重要元素之一,Cosmos 團隊從 2014 年起就開始在 Tendermint 上工作。

儘管以太坊和 Cosmos 在關鍵實現上存在差異,比如不同的資料結構、序列化格式和數字簽名演算法,鑑於 EVM 作為業界最主要的虛擬機器的地位,Cosmos 選擇使用 EVM 能帶來更好的互操作性,並有利於支援基礎設施。

Tendermint 和 EVM 的簡單結合,也使 Cosmos 能夠利用現有的以太坊開發工具和開源應用的生態系統,但仍然可以透過分片來改善其可組合性、互操作性和可伸縮性。

Cosmos 軟體開發工具包 (SDK) 相當於 Polkadot 上的 Substrate 框架。與 Substrate 一樣,Cosmos SDK 的目的是透過將共識和網路程式碼標準化,促進連線到 Cosmos 樞紐的各網路的可組合性。SDK 被設計為服務於一個生態系統,在這個生態系統中,各種開源模組(如隱私外掛或使用者身份解決方案)可以根據需要新增到應用程式中。該系統的一個必不可少的組成部分是一個應用程式安全模型,用於描述應用程式的各個模組安全許可權。

這種許可權是透過物件功能 (ocaps) 實現的。簡單來說 ocaps 可以以程式設計方式防止惡意或有缺陷的模組更改特定狀態,比如準備金餘額或合約所有權。

我們發現,這種實現可組合性和應用程式安全性的方法非常有趣,因為在過去幾年裡,以太坊上高度複雜的智慧合約所具有的不可預測性,引發了大量攻擊。然而,opcaps 並不是萬能的,因為開發人員仍然需要適當地定義模組之間的互動。

除了可組合性之外,Cosmos 還概述了其網路將如何處理 Cosmos Hub 和外生網路之間的互操作性。他們為解決互操作性問題提出的方案包括在 Cosmos Hub 和以太坊等外生網路之間引入額外的中介區塊鏈,即 Peg Zone (鏈聞注:亦被翻譯為「掛鉤分割槽」)。作為中介體,Peg Zone 可以為工作證明區塊鏈提供經濟最終性(即區塊的不可逆性)的概率保證。

例如,當一個事務被包含在以太坊區塊中以期橋接到 Cosmos 時,Peg Zone 在確認有效之前,會應用 100 個區塊確認作為最終性閾值。這種最終性檢查點降低了在區塊鏈重組或 51% 攻擊事件中 peg 鏈上事務被恢復的概率。這種中介體的一個明顯好處在於,它簡化了對交叉鏈資產的託管。所有 Cosmos 使用者透過一個集中的多重簽名智慧合約錢包共享餘額,從而促進了流動性的流入和流出。

其他專案,包括 Polkadot,也嘗試了類似的架構。最近,Loom 網路利用了基於以太坊的側鏈 Plasma,為以太坊使用者提供類似的中介。考慮到透過中介實現互操作性被證明是件極具挑戰性的任務,我們期望這種「Peggy」的分層結構能夠成為透過中介體實現跨鏈互操作性的藍圖。

Peggy:透過中介體實現互操作性的藍圖

外部的區塊鏈和 Peg Zone 將透過兩種主要協議連線到 Cosmos 樞紐,分別是「區塊鏈間通訊協議,或跨鏈通訊協議」 (Inter-Blockchain Communication, IBC) 和「應用程式區塊連結口」 (Application Blockchain Interface, ABCI) 協議。IBC 協議本質上是一個訊息傳遞系統,追蹤所有連線區域的狀態或總餘額。由於任何通訊都需要驗證,Cosmos (尤其是 Tendermint)的另一個重要方面是 ABCI 協議,它作為一個網路套接協議執行,將 Tendermint 共識引擎與平臺上的各種應用程式連線起來,透過這個介面,可以讓應用層和底線的共識層及網路層進行通訊對話。

在 Peggy 的情況下,IBC 控制使用者資金在以太坊之間的流入和流出,而 ABCI 處理關於這些交易有效性的共識。可以透過這個示例瞭解該機制:Alice 在 Cosmos 中的 Ethermint Zone (鏈聞注,即以太坊的一條代理鏈,透過它可以實現以太坊與 Cosmos 鏈的連線)有資金,並且希望向以太坊傳送代幣。透過 IBC,Alice 可以將這些資金從她所在的 Zone 轉到 Peggy 的 Peg Zone。與以太坊的橢圓曲線數字簽名演算法 (ECDSA) 不同,Cosmos 中的簽名是使用愛德華曲線數字簽名演算法 (EdDSA) 來完成的,因此 ABCI 會將簽名翻譯成以太坊可以理解和驗證的語言。

Peggy 還依賴於中繼器網路,由中繼器將成批的交易和隨附的翻譯簽名傳送到充當保管人的以太坊智慧合約。一旦釋出,Cosmos 使用者就可以在以太坊網路中進行交易。

見證人 (Witnesses) 是在以太坊上執行完整節點的 Cosmos 使用者,他們負責將以太坊中發生的狀態變化通知 Peggy。每隔 100 個區塊生成間隔,就會有目擊者證明一系列被髮送回 Peggy 的以太坊事務已經終結。透過中繼器和目擊者,Cosmos 可以提供以太坊的完全雙向性。

我們懷疑這種通用模式能否在透過中介的互操作性領域得到發展,像 Peggy 這類解決方案的全面部署仍然需要時間。在這一點上,Cosmos 的 IBC 協議仍然需要改進,根據我們對 Peggy 程式碼庫的瞭解,至少還要一年才能實現雙向性。儘管如此,Cosmos 已經接近於釋出一個基於 Peggy、從以太坊到 Cosmos 的單向橋樑,觀察人們如何使用它,應該會很有意思。

Digital Asset Research 授權鏈聞發表該研究報告。

免責聲明:

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

推荐阅读

;