當前位置:首頁 > 區塊鏈知識 > 正文

本體網絡ONT跨鏈設計方案初探

來源: 互聯網時間:2019-11-04 14:25:21

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

image.png

其它跨鏈技術簡析

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

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,并賺取自己的礦工費。

后記

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

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

https://github.com/siovanus/documentation/blob/master/multichain/Testnet_Dev_Manual.md

跨鏈使用教程:

https://github.com/siovanus/documentation/blob/master/multichain/Tutorial_Case.md

標簽: 本體網絡

聲明:本文內容綜合整理自網絡,觀點僅代表作者本人,不代表本站立場。
广东11选5稳赚技巧