簡析跨鏈劃轉的工作原理

衆所周知,完全基於 Bitcoin 或 Ethereum 公鏈開發部署的應用,普遍存在適用性差、效率低、使用成本高昂等問題,導致區塊鏈技術難以大規模普及應用。

因此,人們提出了側鏈、Plasma、閃電網絡等技術,試圖繞過公鏈系統,在其外部建立細分領域的應用系統。

如果外部系統也是一個區塊鏈系統(可稱之爲應用鏈),那就涉及到了跨鏈劃轉操作:將 Bitcoin 或 Ethereum (可稱之爲主鏈或根鏈)上的資金劃轉到應用鏈,或將應用鏈上的資金劃轉回主鏈。



應用鏈的好處

01


應用鏈可針對細分領域進行設計,能夠更好地適應千姿百態的應用需求,更容易與人工智能、大數據等技術相結合,爲重量級應用提供基礎支撐平臺,加速推進區塊鏈技術應用落地;

02


用戶只需要採用同一個密鑰帳戶,在主鏈上執行劃轉操作,然後就可以在應用鏈上快速、高效、低成本地執行轉賬、運行智能合約;

03


能夠更好地實現支付功能,解決了主鏈上的交易費用昂貴和網絡擁堵的問題,提高了數字貨幣支付和現有的法幣支付系統的競爭力。當用戶選擇了應用鏈進行操作的時候,可高效、方便地執行高頻小額轉賬交易。

應用鏈的問題

應用鏈的安全性要比主鏈弱一些,主鏈上的資金劃轉到應用鏈後,若應用鏈出現安全事故,可能會給用戶造成財產損失。因此在應用鏈的設計中,要考慮到資金如何能夠安全流回主鏈。

主鏈資金劃轉到應用鏈

01

Alice 發起一筆交易,將 8 個 Bitcoin 存入一個多重簽名地址,這個地址裏的幣被多個管理員所控制,是一個資金的凍結池。這筆交易被打包到主鏈的 M3 區塊中。

02

應用鏈需要感知、查詢主鏈,但主鏈是一個封閉的系統,並不知道應用鏈的存在。當應用鏈獲悉了 Alice 在主鏈 M3 區塊中的凍結操作後,就會釋放對應量的 Secoin。

03


Bitcoin 和 Secoin 在劃轉過程中的兌換比例可以是 1:1,也可以是 1:N,甚至可以引入更復雜的機制,比如 Bancor 算法。在圖 1 中,應用鏈的一個出塊節點在 S4 區塊中按照 1:1 的規則釋放了 8 個 Secoin 到 Alice 的賬戶。

簡析跨鏈劃轉的工作原理

圖 1: 跨鏈劃轉示意圖,來自《Drivechains, Sidechains and Hybrid 2­way peg Designs》



應用鏈資金劃轉到主鏈

01

若 Alice 在應用鏈上給 Bob 轉了 3 個 Secoin,然後 Bob 在應用鏈上發起一筆交易將 3 個 Secoin 凍結,這筆交易被打包到應用鏈的 S32 區塊中。

02

應用鏈的管理組獲悉 S32 區塊中的凍結操作後,會通過多重簽名機制,在主鏈的凍結池中取出 3 個 Bitcoin 轉給 Bob,這樣就完成了從應用鏈到主鏈的劃轉操作。



多重簽名管理凍結池的弊端

由於主鏈不能感知到應用鏈的存在,因此採用了多重簽名管理凍結池的機制,M 個管理員中有 N 個簽名(N<=M)才能通過,管理員之間協作完成劃轉任務在理論上是可行的,在實踐上卻不夠簡練。

由於 Etherum 帶有圖靈完備的 EVM,理論上可以實現任意複雜的程序邏輯,所以可在智能合約中實現跨鏈劃轉操作,比如在 Plasma 方案中,用戶只需向合約提交證明數據,合約程序就會釋放對應量的幣併發送到該用戶的賬戶地址下,完成從應用鏈到主鏈的劃轉操作。

對於 Bitcoin 這樣的系統,由於不帶有圖靈完備的智能合約功能,若不採用多重簽名機制,就得升級改造現有的系統架構,引入一定的跨鏈劃轉標準,讓主鏈能夠感知到應用鏈上的某些特殊動作。

對於全新設計的公鏈項目,設計者應提前考慮好如何支持跨鏈劃轉功能。

作者: Karl 嘉楠區塊鏈研究院高級研究員

嘉楠區塊鏈研究院: 嘉楠耘智(Canaan Inc.)旗下區塊鏈板塊。

熱文搶讀:

1、Conflux 項目技術核心簡析:基於 POW 的 DAG

2、數字證書、CA 與 OpenSSL 制證簡介

3、Byteball 技術剖析之二:主幹鏈選擇與交易定序

4、從 DAG 視角看 Bitcoin 賬本

5、簡析跨鏈原子交易

簡析跨鏈劃轉的工作原理