pseudoyu

pseudoyu

Blockchain | Programming | Photography | Boyi
github
twitter
telegram
mastodon
bilibili
jike

跨鏈技術原理與實戰

前言#

目前區塊鏈底層平台日漸多樣,如老牌的 Hyperledger Fabric、Ethereum 等,以及國內的 Hyperchain、Z-ledger 等,而隨著區塊鏈應用生態越來越複雜,單鏈的性能有一定瓶頸,鏈與鏈之間的協同與交互(信息同步、共享、合約互操作等)也成為了鏈和應用生態發展的重要部分。

本文是對跨鏈技術的概念與主流解決方案的梳理。

跨鏈技術概覽#

因為底層鏈設計、共識算法、網絡結構等組件的相似性,同構區塊鏈之間的交互比較容易,但異構區塊鏈則相對複雜,往往難以直接進行交互,而需要兩條鏈之間有一些輔助平台 / 服務來進行數據格式轉換等。

跨鏈機制#

目前跨鏈主要由以下幾種解決方案:

  1. 公證人機制
  2. 哈希鎖定
  3. 分佈式私鑰控制
  4. 側鏈 / 中繼鏈

公證人機制#

公證人機制是一種通過第三方中介協助不同鏈之間交互的機制,本質上是兩方共同信任一個第三方,讓其對跨鏈數據或跨鏈交互操作進行驗證和轉發。這種方式能很好地支持異構區塊鏈,但是是一種中心化方式。

很多數字貨幣交易所就是通過這樣的方式進行不同數字貨幣之間的交易和轉換,本質上是交易所在撮合交易,效率等都較高,但是存在一定安全風險,且只支持資產的交換。

哈希鎖定#

哈希鎖定最早出現在比特幣的閃電網絡,是通過哈希鎖和時間鎖保障跨鏈雙方資產的一種方式。其中時間鎖是將交易限制在一定時間內,超時則交易失效,從而避免損失,但這種方式同樣只能實現資產的交換,而無法實現資產的轉移。

側鏈#

側鏈是一種雙向錨定的技術,最開始的側鏈是相對於比特幣主鏈而言的,如 BTC-Relay,在這條側鏈上可以對比特幣進行新特性的研發和測試,且當大量用戶在比特幣網絡上進行交易時,使用側鏈可以有效地拓展網絡的吞吐量。例如,在 Ethereum 主鏈上進行資產交易和價值轉移,而在 Ethereum 側鏈上可以進行一些對 tps 要求較高的 DApp 運行等。

而同一條主鏈的不同側鏈也可以借助主鏈來進行一些交互,這就是借助測鏈進行跨鏈的基本原理。

中繼鏈#

中繼鏈則是上述側鏈和公證人機制的一種綜合應用,通過設定跨鏈交互機制(如 Cosmos 的 IBC)來實現異構鏈之間的信息共享與交互。需要進行跨鏈的各個平行鏈連接到一個中繼鏈來輔助交易的驗證和交互。

跨鏈技術實踐#

開發實戰#

目前在做一個 BaaS 平台的跨鏈功能,其基礎架構如下:

cross_chain_framework

子鏈主要是實現各類業務和應用的鏈,當子鏈要與其他鏈進行跨鏈業務交互時,它需要執行跨鏈合約,而我們提供了一個跨鏈網關來對這些跨鏈合約進行監聽。針對異構區塊鏈,如 Hyperledger Fabric、Ethereum,我們將提供不同的適配器來實現跨鏈 SDK 與跨鏈網關之間的交互,適配器提供跨鏈合約信息查詢功能。當另一條業務鏈的 SDK 接收到跨鏈合約方法時,如果是合約互調用或數據傳遞,則直接調用對應的合約方法。

我主要做的是跨鏈適配器接口這一部分,適配器作為針對不同鏈的插件嵌入跨鏈網關中從而適配不同的應用鏈,能夠很好地協助跨鏈網關實現對交易的監聽、同步與執行。

而在具體實現中,如在 Fabric 網絡中,則是通過子鏈調用跨鏈業務合約,而跨鏈業務合約統一調用一個適配器的合約,在這個適配器合約中,我們實現了交易信息傳入,通過 Fabric 事件機制來進行監聽(即在合約中實現 SetEvent 方法,而在適配器中對相應事件進行註冊,從而實現對跨鏈合約的監聽。

關於 Fabric 事件監聽相關細節及實現詳情見《Hyperledger Fabric Go SDK 事件分析》。

功能拓展#

目前趣鏈科技的 BitXHub 跨鏈平台是業界實現得比較完善的開源跨鏈解決方案,其架構如下:

bitxhub_structure

主要通過中繼鏈、網關和插件機制對跨鏈流程中的功能、安全性和靈活性等進行了優化,並且設計了 IBTP 鏈間通用傳輸協議配合 “網關 + 中繼鏈” 的架構來解決跨鏈交易中的驗證、路由等問題。

總結#

以上就是對跨鏈技術的概念梳理與實戰總結,為了對跨鏈機制的各個環節有更深入的了解,之後也將會對目前正在做的跨鏈服務和 BitXHub 平台進行更深入的剖析和源碼解讀。

參考資料#

  1. 關於跨鏈技術的分析和思考
  2. 跨鏈的簡要研究:從原理到技術
  3. 跨鏈技術平台 BitXHub
  4. 區塊鏈跨鏈技術之哈希時間鎖
  5. Hyperledger Fabric Go SDK 事件分析
  6. BitXHub 文檔
  7. 十問 BitXHub: 談談跨鏈平台的架構設計
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。