本體技術視點 | 跨鏈設計初探

買賣虛擬貨幣
題記區塊鏈作為一種分散式賬本技術,可以被應用在金融、健康醫療、供應鏈、資產管理等諸多領域,但是受吞吐量、網路孤立性、伸縮性等因素的制約,目前的區塊鏈專案並不能很好的服務於商業應用。在區塊鏈所面臨的諸多問題中,網路孤立性阻礙了不同區塊鏈之間的協同操作,極大程度的限制了區塊鏈的發揮空間。引言

跨鏈技術是解決不同區塊鏈間協同操作、實現價值網際網路的關鍵。簡單來說,跨鏈就是實現一個鏈到另一個鏈的通訊協議。目前,本體跨鏈方案已經在測試網執行。本文就本體跨鏈設計進行初步分析。

其它跨鏈技術簡析

介紹本體跨鏈設計之前,我們先比較一下幾個熱門的跨鏈解決方案的特色,分析一下它們是如何實現跨鏈的。

Plasma:以太坊中熱議的鏈下擴容方案 Plasma,它透過把交易轉移到更快擁堵更少的側鏈來提高其可擴充套件性。該方案不需要修改區塊鏈底層協議,而是透過複雜的工作轉移到鏈下完成,並在需要時將鏈下的計算結果提交到主鏈上保證其安全性。

Cosmos:Cosmos 則是 Tendermint 團隊開發的一個支援跨鏈互動的異構網路。網路中第一個區塊鏈是Cosmos Hub,也就是 Cosmos 主網,其他的並行鏈稱為Zone,Zone 透過 IBC 協議與 Hub 進行跨鏈操作。在 IBC 協議設計裡,兩個鏈建立連線之前需要進行彼此註冊,並儲存對方鏈驗證者集合以及相關 Merkle 證明,以證明跨鏈訊息的正確性。同時,不同的 Hub 連線下的 Zone 也可以透過 Hub 路由的方式進行互動。

Polkadot:這是由原以太坊主要核心開發者Gavin Wood 推出的可伸縮性的異構多鏈系統,主要解決區塊鏈拓展性問題。在 Polkadot 看來,其它區塊鏈都是平行鏈,Polkadot 透過中繼鏈技術能夠將原有鏈上的 token 轉入類似多重簽名控制的原鏈地址中,對其進行暫時鎖定,在中繼鏈上的交易結果將由這些簽名人投票決定其是否生效。它還引入了釣魚人角色對交易進行舉報監督。透過 Polkadot 可以將比特幣、以太幣等都連結到 Polkadot 上,從而實現跨鏈通訊。

本體跨鏈設計初探

為了解決區塊鏈的資訊孤島問題,本體推出全新的輕量級、低耦合、安全可靠的多鏈體系和跨鏈解決方案。該解決方案以本體鏈為主鏈,同時支援同構側鏈和異構側鏈,並允許主鏈與側鏈、側鏈與側鏈之間的互動。當需要連線不同結構的鏈時,dApp 可以透過呼叫跨鏈管理合約來完成跨鏈操作。

本體鏈網體系支援主鏈和側鏈之間、側鏈和側鏈之間的跨鏈互動,其跨鏈設計主要包括如下幾個模組:

1.  多鏈管理合約

· 主要負責側鏈的註冊和管理,包括側鏈註冊和退出,側鏈狀態管理,側鏈 ONG 抵押管理,側鏈資金池管理,驗證人資訊變更等;
· 側鏈需要在註冊時向主鏈的多鏈管理合約中提交該側鏈的創世塊區塊頭、共識切換週期等基本資訊。同時,側鏈需要將主鏈的當前關鍵區塊頭資訊初始化在自己的區塊頭同步合約中。另外,側鏈在向主鏈註冊時需要抵押一定量的 ONG 防止其作惡(若是可信側鏈,也可不抵押 ONG);
· 註冊後會為子鏈分配子鏈 ONGx 總髮行量的資金池,每次向子鏈的資產轉移都會消耗資金池的容量,相反會釋放資金池的容量;
· 子鏈的退出需要有段時間的挑戰期,挑戰期內使用者可以將 ONGx 換回 ONG,如發現無法換回,可以提交子鏈作惡的證據。挑戰期結束子鏈退出並贖回質押。

2. 區塊頭同步合約

· 跨鏈互動需要跨鏈交易的相關合法性證明,跨鏈交易在跨鏈管理合約中被放入merkle tree中,同時 merkle root 被放入區塊頭中;

· 因此跨鏈互動過程中需要進行跨鏈區塊頭資訊的同步,獲取 merkle root,以驗證跨鏈交易的合法性;

·為了驗證獲取到的跨鏈區塊頭的合法性,需要驗證對方鏈共識節點的簽名,而為了獲取對方鏈共識節點列表,需要同步對方鏈的關鍵區塊頭(也就是共識切換的區塊);

· 側鏈和側鏈的互動過程中,雙方將直接從主鏈上取得對方的關鍵區塊頭資訊。

3. 跨鏈管理合約

· 所有跨鏈交易都由跨鏈管理合約來進行統一管理;

· 跨鏈管理合約負責為每一筆跨鏈交易分配一個自增 ID,並在完成時標記該 ID 已消費,還負責將跨鏈交易放入 Merkle Tree,而 Merkle Root 會被放入當前區塊的區塊頭中。同時,在發起跨鏈交易時,使用者需要將一部分 ONG 作為礦工費用銷燬或凍結。

4. ONG(x) 合約

· 系統資產合約,該資產可以實現跨鏈轉移,並可以作為交易手續費和跨鏈交易礦工費,資產錨定主鏈 ONG;
· 主鏈 ONG 合約新增了跨鏈資產鎖定,解鎖功能;
· 側鏈 ONGx 合約新增了跨鏈資產增發,銷燬功能。

5. dApp 合約

· 任意本體開發者開發部署的 dApp 合約,此合約除了正常的業務邏輯,還呼叫了跨鏈管理合約的跨鏈方法來實現跨鏈。是跨鏈 dApp 生態中的鏈上部分。

· dApp 開發者無需關心具體的跨鏈實現,只需呼叫跨鏈管理合約的統一方法即可實現跨鏈。

6.  資訊狀態同步者 Relayer

· 一個狀態資訊同步程式,持續監聽跨鏈管理合約的跨鏈請求和某些關鍵區塊,監聽到後進行跨鏈交易或者關鍵區塊頭的同步工作來獲取礦工費。
· 任何人都可以無需註冊加入網路成為 Relayer,並賺取自己的礦工費。

後記

在以後的本體技術視點文章中,將給大家帶來更多關於本體跨鏈設計的具體細節。

目前,本體跨鏈測試網已經上線,也提供了詳細的跨鏈使用教程和多鏈開發手冊,希望廣大技術愛好者來體驗本體跨鏈測試網路。

免責聲明:

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

推荐阅读

;