區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

區塊鏈 技術 蘇黎世聯邦理工學院 Odaily星球日報 2019-05-18
區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

通證通研究院 × FENBUSHI DIGITAL 聯合出品

文:宋雙傑,CFA:田志遠

特別顧問:沈波、JX

導讀

隨著區塊鏈行業的蓬勃發展,多種公有鏈、私有鏈和聯盟鏈出現,由此自然而然地出現了一個問題:鏈與鏈之間如何互聯互通?本篇報告梳理了跨鏈的含義、意義和跨鏈需要解決的關鍵問題,回顧了跨鏈技術的發展歷程,分析了主要的跨鏈模式。

摘要

跨鏈是通過連接相對獨立的區塊鏈系統,實現資產、數據等的跨鏈互操作,跨鏈的主要實現形式包括跨鏈資產互換和跨鏈資產轉移。

2013年之前,區塊鏈的發展主要集中在單一區塊鏈。2013年以來,跨鏈技術蓬勃發展,跨鏈的幾種主要模式相繼被提出。

實現跨鏈的兩個關鍵問題分別是跨鏈交易的原子性和跨鏈交易驗證。哈希鎖定模式利用哈希鎖和時間鎖能夠保證跨鏈交易的原子性,即只有滿足一定的時間條件和哈希條件交易才能夠完成,從而實現跨鏈資產互換。對於相互獨立的兩條區塊鏈而言,為實現跨鏈資產轉移,不得不依賴於外部第三方進行信息交互,根據第三方的工作範圍可以分為公證人機制和中繼模式。在公證人機制下,第三方負責數據收集和交易驗證;在中繼模式下,第三方僅負責數據收集,交易驗證由目標鏈完成。

總體而言,跨鏈技術在過去幾年間得到了迅速發展,相關的項目層出不窮。現有的跨鏈相關項目中,基於側鏈/中繼模式的項目佔比最高;基於哈希鎖定的閃電網絡自主網上線以來節點數量、通道數量和網絡容量不斷增長,技術可行性得到了較好的驗證;通信協議簇(通過規定一系列通信數據格式與協議規範等實現區塊鏈接入)類項目未來能否成為主流跨鏈方案一定程度上取決於業界對於相關標準規範的接受度。但是目前跨鏈技術尚未完全成熟和廣泛應用,仍有較大的提升空間。此外除了跨鏈本身的技術形態演進,跨鏈技術未來的發展也與跨鏈技術的應用模式密切相關。

風險提示:量子計算機技術突飛猛進

目錄

1 跨鏈概述

1.1 什麼是跨鏈

1.2 為什麼跨鏈

1.3 跨鏈發展歷程

1.4 跨鏈關鍵問題

2 跨鏈的主要模式

2.1 哈希鎖定:跨鏈資產互換

2.1.1 提出背景

2.1.2 基本思路

2.1.3 案例:閃電網絡

2.2 公證人機制:依賴第三方驗證交易

2.2.1 提出背景

2.2.2 基本思路

2.2.3 案例:Interledger Protocol

2.3 側鏈/中繼:目標鏈自行驗證交易

2.3.1 提出背景

2.3.2 基本思路

2.3.3 案例:BTC Relay

2.3.4 案例:Cosmos

2.3.5 案例:Polkadot

3 總結

正文

隨著區塊鏈行業的蓬勃發展,多種公有鏈、私有鏈和聯盟鏈出現,由此自然而然地出現了一個問題:鏈與鏈之間如何互聯互通?本篇報告梳理了跨鏈的含義、意義和關鍵問題,回顧了跨鏈技術的發展歷程,分析了主要的跨鏈模式。

1跨鏈概述

1.1 什麼是跨鏈

跨鏈(cross-chain),顧名思義,就是通過連接相對獨立的區塊鏈系統,實現資產、數據等的跨鏈互操作。

跨鏈的主要實現形式包括跨鏈資產互換和跨鏈資產轉移。

跨鏈資產互換指將一條鏈上的資產兌換成等值的另一條鏈上的資產,每條鏈上的資產總量不變。跨鏈資產互換的一個簡單例子如下:

Alice用1個BTC交換Bob的50個ETH,互換成功的結果應該是Alice的ETH地址收到Bob的50個ETH,Bob的BTC地址收到Alice的1個BTC。

跨鏈資產轉移指將一條鏈上資產轉移到另一條鏈上,原鏈上的資產鎖定,另一條鏈上重新鑄造等量等值的資產,每條鏈上的資產總值發生變化,但兩條鏈的資產總值之和不變。跨鏈資產轉移的一個簡單例子如下:

Alice將BTC區塊鏈上的1個BTC轉移到ETH區塊鏈,則BTC區塊鏈上的1個BTC被凍結,ETH區塊鏈上新生成50個ETH。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

1.2 為什麼跨鏈

突破底層公鏈性能和功能瓶頸。隨著區塊鏈網絡的快速發展,性能逐漸成為制約區塊鏈發展的重大瓶頸,通過將部分事務處理轉移到側鏈或鏈下能夠提升區塊鏈網絡的性能。部分功能創新也可以通過側鏈實現,從而保證主鏈的安全性。

實現跨鏈互操作。單一的區塊鏈系統相對封閉,隨著區塊鏈技術的迅速發展,鏈與鏈之間的“互操作性”問題逐漸凸顯。跨鏈互操作的具體應用場景包括但不限於跨鏈支付結算、非中心化交易所、跨鏈信息交互等。

1.3 跨鏈發展歷程

2013年之前,區塊鏈的發展主要集中在單一區塊鏈。2013年以來,跨鏈技術蓬勃發展,跨鏈的幾種主要模式(公證人機制(Notary schemes)、側鏈/中繼(Sidechains/relays)、哈希鎖定(Hash-locking))相繼被提出。

2013年5月,Tier Nolan在BitcoinTalk論壇提出了“原子轉移(atomic transfers)”,原子轉移又稱原子交換(atomic swap),指構成一筆完整跨鏈交易的子交易同時發生或不發生,不存在第三種中間狀態。該方案經過改進後成為跨鏈的一種主要模式,即哈希鎖定模式。

2014年10月,BlockStream首次明確提出側鏈的概念,錨定式側鏈(Pegged Sidechains)利用雙向錨定(two-way peg)機制,能夠實現加密資產按照某種匯率在側鏈和主鏈之間轉移。2016年12月,BlockStream進一步提出了強聯邦側鏈(Sidechains with Strong Federations),通過引入由多方控制的多重簽名地址減少延遲並提升互操作性。

2015年2月,Poon發佈了閃電網絡(Lightning Network)白皮書,基於哈希鎖定實現資產BTC鏈下交易。

2015年10月,Interledger Protocol白皮書發佈,基於公證人機制實現不同賬本間資產的轉換。

2016年5月,BTC Relay基於中繼實現BTC到ETH的單向跨鏈連接。

2017年,Polkadot和Cosmos提出跨鏈基礎設施中繼平臺方案。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

1.4 跨鏈關鍵問題

實現跨鏈的兩個關鍵問題分別是跨鏈交易的原子性和跨鏈交易驗證。通過保證跨鏈交易的原子性能夠實現跨鏈資產互換,具體實踐中主要依靠哈希鎖定實現。跨鏈資產轉移還需要進行跨鏈交易驗證。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

跨鏈交易的原子性是指跨鏈交易要麼成功,要麼失敗,不存在第三種中間狀態。一個完整的跨鏈交易由多個子交易構成,子交易分別發生在不同的區塊鏈系統中,彼此相互獨立,跨鏈交易的原子性要求保證一筆子交易成功後,後續的子交易也能夠成功,或者後續的子交易失敗,前面的子交易能夠撤回。

跨鏈交易驗證指對另一條鏈的交易進行驗證。驗證包括兩個方面,一是交易已經被寫入賬本並且滿足最終確定性,二是進行跨鏈數據傳遞,一條鏈能夠驗證另一條鏈的交易狀態。

2跨鏈的主要模式

通過哈希鎖定能夠保證跨鏈交易的原子性,對於相互獨立的兩條區塊鏈而言,為實現跨鏈交易驗證不得不依賴於外部第三方進行信息交互,根據第三方的工作範圍可以分為公證人機制和中繼模式。

在公證人機制下,第三方負責數據收集和交易驗證。

在中繼模式下,第三方僅負責數據收集,交易驗證由目標鏈完成。

2.1 哈希鎖定:跨鏈資產互換

2.1.1 提出背景

哈希鎖定源於原子交換,最早的應用是BTC的閃電網絡,閃電網絡提供了可擴展的微支付通道,通過將部分交易轉移到鏈下進行解決區塊鏈網絡的交易擁堵問題。

2.1.2 基本思路

簡單而言,哈希鎖定模式利用哈希鎖和時間鎖保障跨鏈交易的原子性,即只有滿足一定的時間條件和哈希條件交易才能夠完成。HTLC(Hashed Time-Lock Contract,哈希時間鎖協議)是原子互換協議的具體實現。

哈希鎖:Alice對密鑰a進行哈希運算得到H(a),並將函數H和H(a)告訴Bob,Bob利用H和H(a)驗證Alice提供的密鑰的正確性。

時間鎖:以BTC系統為例,BTC時間鎖的實現方式有兩種,一種是絕對鎖定,即回撤交易在某個時間範圍內不生效,另一種是相對鎖定,即相對某個時間或事件鎖定交易。

HTLA(Hashed Time-Lock Agreements,哈希時間鎖定合約) 是HTLC的泛化協定,由Interledger提出。在該協定下,任何中心化或非中心化賬本無論能否支持HTLC,均可利用HTLA 實現跨鏈資產互換。

2.1.3 案例:閃電網絡

閃電網絡針對BTC網絡提出,其主網已於2018年3月15日上線。2018年3月20日,閃電網絡受到DDOS攻擊,200多個節點被攻擊下線。閃電網絡主網上線以來節點數量、通道數量和網絡容量不斷增長,根據BitcoinVisuals數據,截至2019年4月24日,閃電網絡節點數量超過4200個,通道數量超過38000個,網絡容量約為575萬美元。

閃電網絡的兩種主要協議分別是RSMC(Revocable Sequence Maturity Contract,序列到期可撤銷合約)和HTLC(Hashed Time-Lock Contract,哈希時間鎖協議)。RSMC的作用是鼓勵交易雙方儘可能久的利用通道進行交易,對於主動終止通道的交易方進行懲罰,即主動終止通道的一方資金到賬時間更晚。HTLC的存在使得交易雙方之間即便沒有支付通道,但是隻要能夠找到一條支付路徑即可實現交易。

(1)創建交易

Alice和Bob通過閃電網絡轉賬,雙方各拿出0.5BTC,構建一筆保證金交易FundingTx,輸出需要Alice和Bob多重簽名。此時,雙方未對Funding Tx簽名,交易不廣播到區塊鏈上。

Alice和Bob分別構造Commitment Tx:Alice構造C1a和RD1a, Bob簽名後交給Alice;Bob構造C1b和RD1b,Alice簽名後交給Bob。雙方均完成對commitmentTx的簽名並交換後,再對FundingTx進行簽名。

C1a的第一個輸出需要Alice的另一把私鑰Alice2和Bob的多重簽名,第二個輸出為給Bob 0.5BTC。RD1a為C1a第一個輸出的花費交易,輸出給Alice 0.5BTC,此類型交易帶有sequence,作用是阻止當前交易進塊,只有前向交易C1a經過sequence個確認才能被打包進區塊。

由於C1a和C1b花費的是同一個輸出,故這兩個交易中只有一個能被打包進區塊。若Alice廣播C1a,則Bob立即拿到0.5BTC (C1a的第二個輸出),而Alice需要等C1a得到sequence=1000個確認,才能通過RD1a的輸出拿到0.5BTC。同理,若Bob廣播C1b,則Alice立即拿到0.5BTC,Bob需要等待C1b得到sequence=1000個確認,才能通過RD1b的輸出拿到0.5BTC。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

(2)交易更新

RSMC更新過程如下:Alice向Bob支付0.1BTC,雙方創建新的CommitmentTx,即Alice創建C2a和RD2a,Bob創建C2b和RD2b,此時需要廢棄掉無效的狀態C1a和C1b。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

Alice將Alice2的私鑰交給Bob,表示Alice放棄C1a,承認C2a。RD1a中sequence的存在使得Bob可以在Alice違約後有一定的時間實施懲罰交易,即如果Alice違約,Bob能夠修改RD1a的輸出給自己,即形成交易BR1a,Alice將面臨失去全部保證金的處罰。這種機制使得雙方都會選擇刪除舊的狀態,廣播更新後的狀態。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

(3)交易關閉

按照最終餘額構造Commitment TX,無需設置多重簽名和構造懲罰交易等。哈希鎖定模式實現了跨鏈的資產互換,每條鏈上的資產總量不變,只是資產持有者發生了改變,跨鏈資產轉移需要保證跨鏈交易的真實性,因此涉及到實現跨鏈交易驗證的兩種模式:公證人機制和側鏈/中繼模式。

2.2 公證人機制:依賴第三方驗證交易

2.2.1 提出背景

2015年10月Interledger Protocol(ILP,跨賬本協議)白皮書發佈,這一協議由Stefan Thomas和Evan Schwartz創建,其目的就是讓跨賬本交易變得更加方便,瑞波隨後引入了這一協議。之所以稱為跨賬本而不是跨鏈,是因為該協議不僅支持非中心化的區塊鏈賬本,還支持銀行等機構的中心化賬本,是更廣義的“跨鏈”。

2.2.2 基本思路

由一個或一組節點作為公證人進行數據收集和交易驗證。公證人同時跟蹤兩條鏈的狀態並告知對方,交易雙方完全依賴於公證人驗證和實現交易。

依據公證人的構成和簽名方式,公證人機制具體分為三類。公證人可以由一個或一組節點充當,由一個節點作為公證人即為中心化公證人機制,在由一組節點作為公證人的情況下,根據各個節點的簽名方式不同分為多重簽名公證人機制和分佈式簽名公證人機制。

中心化公證人機制:單一節點或機構充當中心化公證人。中心化公證人機制是相對比較簡單的模式,與傳統的兩個主體通過第三方間接交易類似,公證人同時兼容兩個或多個系統,其優點在於處理速度較快,技術結構相對簡單,但是這種方式的問題也很明顯,即中心化的公證人的安全風險。

多重簽名公證人機制:多個公證人在各自賬本共同簽名達成共識。這種機制弱化了中心化公證人機制的中心化問題,安全性相對更高,前提是交易鏈需要支持多重簽名功能。

分佈式簽名公證人機制:與多重簽名公證人機制的主要區別是採用了多方計算的分佈式簽名。對於跨鏈交易,系統僅產生一個密鑰,密鑰以碎片形式發送給每個公證人節點。

2.2.3 案例:Interledger Protocol

Interledger Protocol最初是公證人機制的代表,在發展過程中融入了哈希鎖定的理念。在該協議下,處於不同賬本系統的發送者與接收者可以通過一個或多個連接者進行跨賬本交易,連接者提供轉發數據或資金的服務並收取相應的費用。通過為跨賬本交易的參與方提供資金託管,只有在分類賬收到接收方已經收到資金的證明時,才會將相應的資金髮給連接者,同時保證當連接者完全執行協議後將會收到來自發送者的資金。交易託管與執行分為兩種方式,其中,“原子模式”是由參與者選出一組公證人來協調交易;“通用模式”無需公證人,通過參與者給予激勵以及反向執行指令來確保安全支付。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

2.3 側鏈/中繼:目標鏈自行驗證交易

2.3.1 提出背景

2014年BlockStream首次明確提出側鏈概念。2014年10月,BlockStream發佈白皮書《Enabling Blockchain Innovations with Pegged Sidechains》,首次明確提出側鏈的概念,按照白皮書中的定義,側鏈是驗證來自另一條區塊鏈的數據的區塊鏈,通過雙向錨定(two-way peg)機制,加密資產能夠按照某種匯率在側鏈和主鏈之間轉移。

側鏈提出的背景:BTC創新與安全的權衡。一方面隨著區塊鏈技術的發展,越來越多的創新開始出現,Ethereum、Bitshares等帶來的智能合約和非中心化應用廣受人們追捧,反觀BTC則需要在性能和功能等眾多方面做出提升,但是出於安全考慮,BTC的創新一直相對保守;另一方面競爭通證和山寨通證的大量出現也引發了BTC核心開發團隊對於開發和市場碎片化的憂慮。側鏈(sidechain)能夠在保證主鏈安全性的條件下,實現性能和功能方面的擴展,成為BTC的理想選擇。在這種情況下,Adam Back、Matt Corallo等BTC核心開發者共同發起成立了BlockSream公司。

2.3.2 基本思路

側鏈/中繼模式下,目標鏈不依賴於第三方進行交易驗證,而是自行驗證來自發送鏈的數據,具體的驗證方式有所不同,如BTC-Relay是通過SPV(Simple Payment Verification,簡單支付驗證)進行交易驗證,Cosmos是通過節點簽名數量。

2.3.3 案例:BTC Relay

BTC Relay是ETH上的一個智能合約,通過存儲BTC區塊頭驗證BTC交易。由於BTC區塊鏈的交易信息以Merkle tree的形式存儲在區塊頭中,BTC Relay可以利用SPV機制驗證BTC交易。BTC Relay的功能實現依賴於Relayer提交正確的區塊頭數據,及時提交正確的區塊頭數據的Relayer將會得到獎勵。BTC Relay通過相對簡單的設計實現了ETH用戶能夠創建依賴於BTC區塊鏈事件的智能合約,但是BTC Relay只實現了BTC到ETH的單向跨鏈。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

2.3.4 案例:Cosmos

2016年6月,Jae Kwon提出了Cosmos,支持各種區塊鏈接入與互操作。Cosmos由由Hub(樞紐)和Zone(分區)兩部分組成,分區採用Tendermint共識,可以支持多種區塊鏈,同時分區數量可以擴展。分區之間通過樞紐遵照IBC協議(Inter Blockchain Communication Protocol,鏈間通信技術規範)進行交易,IBC協議定義了區塊鏈註冊、數據包格式、交易類型和數據包交付確認流程等內容。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

Tendermint共識過程與BFT類共識類似,開始時節點對新一輪的區塊進行提議,合格的提議區塊在預投票(Prevote)環節獲得2/3以上投票則進入預認可(Precommit)環節,再次獲得2/3以上的預認可後即獲得正式認可(Commit)。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

2.3.5 案例:Polkadot

2016年11月,Polkadot白皮書發佈,提出了一種異構的多鏈架構,支持多個高度差異化的共識系統去中心化、去信任地進行互操作和訪問。Polkadot網絡由中繼鏈(Relay chain,負責協調鏈間的共識和交易)、平行鏈(Parachains,負責收集和處理交易)和轉接橋(Bridges,負責連接其他異構的區塊鏈)組成。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

網絡中的四類參與方包括驗證者(Validators,負責驗證平行鏈的數據)、收集者(Collator,負責採集平行鏈的數據並提交給驗證者)、提名者(Nominator,為驗證者提供押金和信用背書)和漁夫(Fisherman,負責舉報和證明惡意行為)。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

Polkadot跨鏈交易信息傳輸的簡單過程如下:

(1)平行鏈A上的收集者收集交易並驗證交易的有效性,將交易打包進區塊;

(2)驗證者驗證其收到的只包含有效交易的區塊,並支付一定押金;

(3)在提名者為驗證者支付了足夠的押金後,廣播該區塊到中繼鏈;

(4)驗證人對中繼鏈區塊達成共識並將平行鏈A的交易信息傳輸到平行鏈B。

3總結

總體而言,跨鏈技術在過去幾年間得到了迅速發展,相關的項目層出不窮。現有的跨鏈相關項目中,基於側鏈/中繼模式的項目佔比最高;基於哈希鎖定的閃電網絡自主網上線以來節點數量、通道數量和網絡容量不斷增長,技術可行性得到了較好的驗證;除了上述的三種跨鏈主要模式,還有一類項目通過規定一系列通信數據格式與協議規範等實現區塊鏈接入,這類項目稱為通信協議簇類項目,這類項目未來能否成為主流跨鏈方案一定程度上取決於業界對於相關標準規範的接受度。

目前跨鏈技術尚未完全成熟和廣泛應用,仍有較大的提升空間。一方面跨鏈所面臨的技術問題具有一定的複雜性,另一方面區塊鏈技術也在飛速發展,區塊鏈的類別和技術複雜度等不斷提升,導致對於跨鏈技術更迭的要求也在不斷提升。

跨鏈技術發展與跨鏈技術的應用模式密切相關。除了跨鏈本身的技術形態演進,跨鏈未來的進一步發展也依賴於跨鏈應用模式的構建和發展,隨著區塊鏈行業應用的逐步落地和不斷豐富,對跨鏈的需求將不再侷限於交易。

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

附註:

因一些原因,本文中的一些名詞標註並不是十分精準,主要如:通證、數字通證、數字currency、貨幣、token、Crowdsale等,讀者如有疑問,可來電來函共同探討。

本文為通證通研究院( ID:TokenRoll )原創。未經授權,禁止擅自轉載。轉載請後臺回覆關鍵詞【轉載】

區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯區塊鏈技術引卷之七 | 跨鏈:打破孤島,萬鏈互聯

相關推薦

推薦中...