區塊鏈技術研究:跨鏈專題,打破孤島,萬鏈互聯

(溫馨提示:文末有下載方式)

隨著區塊鏈行業的蓬勃發展,多種公有鏈、私有鏈和聯盟鏈出現,由此自然而然地出現了一個問題:鏈與鏈之間如何互聯互通?

本篇報告梳理了跨鏈的含義、意義和關鍵問題,回顧了跨鏈技術的發展歷程,分析了主要的跨鏈模式。

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,構建一 筆保證金交易 Funding Tx,輸出需要 Alice 和 Bob 多重簽名。此時, 雙方未對 Funding Tx 簽名,交易不廣播到區塊鏈上。

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

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,雙方創建新 的 Commitment Tx,即 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 協議(InterBlockchain 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 總結

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

目前跨鏈技術尚未完全成熟和廣泛應用,仍有較大的提升空間。

一方面跨鏈所面臨的技術問題具有一定的複雜性,另一方面區塊鏈技術也在飛速發展,區塊鏈的類別和技術複雜度等不斷提升,導致對於跨鏈技術更迭的要求也在不斷提升。

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



溫馨提示:如需原文檔,可在PC端登陸未來智庫www.vzkoo.com搜索下載本報告。

(報告來源:通證通研究院;分析師:宋雙傑、田志遠等)

相關推薦

推薦中...