DATx構建統一協議下高效能區塊鏈DATxChain

買賣虛擬貨幣
隨著專案的遍地開花,我們見證了區塊鏈技術在廣泛行業中的應用案例。然而與此同時,正因為每個區塊鏈專案都有著其原生通證,區塊鏈行業正變得空前地支離破碎。未來去中心化的可行性將受到威脅,我們現在處在區塊鏈發展的關鍵階段。倘若沒有鏈與鏈間的統一協議,區塊鏈專案將進一步割裂,這使得基於該技術的應用的廣泛落地變得更加困難。跨鏈通訊將成為我們的巴別塔。跨鏈技術打通了各個去中心化系統之間的通訊渠道,而使區塊鏈專案能夠充分實現其技術願景。DATx致力於構建一個高效能且支援跨鏈協議的區塊鏈——DATxChain,它支撐各方之間無縫傳
輸各種加密貨幣(例如比特幣、以太坊、EOS)。DATx將為充滿活力的區塊鏈行業奠定基礎,不再受不相容協議的影響。同時,DATx獨創了X-DPOS共識機制:X-DPOS共識機制使DATx達到了DPOS專案的TPS水平,同時結合跨鏈節點以確保DATxChain多資產支援的效率和安全性。

DATx將會建立必要的基礎設施,用於孵化一個DAPP生態系統,並且充分利用跨鏈技術的通訊效率與便捷性。同時為了吸引DAPP開發者,我們將採用完善的通證經濟模型來激勵 DAPP的開發。


主要功能概述

DATx基於外掛式架構設計,可以輕鬆更新並增添新功能。 DATx生態系統包含以下核心元件和關鍵術語:

DAPP(去中心化應用)P14
DAPP的後端程式碼執行在P2P分散式網路上,不同於APP後端程式碼執行在中心化伺服器上。

dBTC/dETH/dEOS(借記BTC/ETH/EOS)P14
DATxChain上所採用的對映資產形式。在此上下文中,借記指與託管賬戶中資產餘額相對應的進賬。

DATxChain P14
DATx主鏈,它將交易和其他資料儲存於區塊上,透過時間戳和雜湊值按時間順序互相連線。

DATxWallet P16
DATx鏈上錢包顯示著錢包持有者在DATxChain上所擁有的相應資產。DATx錢包將儲存DATx令牌,對映資產以及基於DATxChain所發行的其他令牌。

LSP(監聽伺服器程式)P17
DATx節點上的監聽模組,它持續監聽DATxChain鏈外其他資產與多重簽名託管錢包——MSE之間的交易,為鏈外交易的驗證提供證明。

對映資產 P14
其他已支援區塊鏈所對映到DATxChain上的資產。它們採用與MSE錢包中金額相對應的借方形式,並在DATxWallet中顯示為dBTC/dETH/dEOS等。

MASC(Mapped Asset Smart Contract)P21
控制對映資產的建立,變動和儲存的智慧合約。

Master Wallet P14
為主鏈DATxChain服務並支援其他資產的多鏈錢包APP,幫助使用者更輕鬆地進行多資產管理。

Meridians Plugin P15
整合跨鏈通訊,鏈外監聽,交易驗證等跨鏈相關,幫助節點提供安全、可靠、完整的跨鏈服務外掛,是DATx客戶端的一部分。

MSE錢包(多重簽名託管錢包)P15
當使用者存入用於DATxChain DAPP的資金時,託管這些存入資金的鏈外錢包。當使用者需要提現時,只有經過多重簽名認證才能進行資金轉移,以確保生態系統中所有相關方的資金安全。

多重簽名模組 P21
節點上用於協調跨鏈節點多重簽名驗證過程的模組。

節點 P19
包含DATxChain的所有記錄,包括超級節點、跨鏈節點和候選節點。

鏈上資產 P14
鏈上資產是DATxChain上的資產,如DATx令牌、基於DATxChain發行的其他資產以及對映資產(dBTC/dETH/dEOS等)。

鏈外資產 P14
鏈外資產是不屬於DATxChain的資產,如BTC/ETH/EOS等。

XDPOS(跨鏈委託權益證明)P21
經過改良的委託權益證明機制,支援安全高效的多資產跨鏈。

DATx方案設計

為滿足使用者和開發者的需求, DATxChain將被設計成一個支援多資產跨鏈協議和智慧合約、具備圖靈完備性的高效能底層作業系統。 其整體架構如下圖所示:

設計過程如下:

1. 透過DATxChain自主設計的多鏈鏈上錢包,使用者可將準備充值的鏈外資產所在的錢包匯入(證明資產所有權)。匯入的過程將是完全去中心化的,使用者私鑰在這個過程中不會被記錄。
2. 透過已經匯入的BTC、ETH或者其他可支援的錢包,向對應的多重簽名託管錢包充值。
3. DATxChain上的超級節點會透過跨鏈協議監聽到這筆充值交易,並且呼叫對映資產合約。
4. 呼叫合約成功,並且不可逆之後,對映資產合約會將對應的對映資產轉到使用者的DATx錢包中。
5. 使用者可以使用這些對映資產來使用基於DATxChain的DAPP。
6. 當使用結束後使用者可將對映資產充值回對映資產賬戶,獲得鏈外資產提現許可權。
7. 當滿足許可權後,證明節點會發起提現交易提案,當超過2/3的跨鏈節點簽名後,鏈外資產將會返回使用者所提現的地址。

為了滿足這些需求,我們在五個重點上取得了重大突破。


1、Meridians plugin(跨鏈協議外掛)

在設計跨鏈協議時,我們發現由於受制於底層效能和出塊時間的差異,交易結算會受到影響。例如,BTC需要將近一個小時才能得到六個區塊的確認。如果使用者直接使用基於BTC開發DAPP,其效率將落後於基於EOS上DAPP的效率(EOS的出塊時間為0.5秒)。

這對於開發者和使用者來說不可接受,因此我們引入了一種多重簽名的託管錢包機制,透過跨鏈外掛幫助使用者鎖定鏈外資產,並且在鎖定期內為DATx錢包發行等量的對映資產(如DBTC、DETH )。基於DATxChain的對映資產,使用者將更方便更快捷更公平地使用鏈上的DAPP。

DAPP開發人員可以使用支援多鏈資產的DATxChain智慧合約協議,使用者將可以使用DATx之外的資產訪問鏈上的DAPP。

為了提高系統迭代效率,DATxChain採用了外掛化組織結構。在此基礎上,我們新增了一個跨鏈外掛,以幫助使用者將基於DATxChain的DAPP與鏈外資產一起使用。

跨鏈資產將實現如下功能:

·MSE Wallet的建立
·鏈外資產轉移(提現)

MSE Wallet(多重簽名託管錢包)示例:


Bitcoin

P2SH (Pay-to-Script Hash) 在2012年被作為一種新型、強大、且能大大簡化複雜交易指令碼的交易型別而引入。它是另一種支付方式,其構造交易的輸出不是指令碼,而是指令碼HASH值(一串由3打頭的字串),解鎖時的輸入需要同時提供指令碼。

程式碼(HASH值須對應前面) 及所需簽名:

MSE Wallet BTC的拜占庭共識:

1. Node1 發起提現請求,呼叫此外掛的提現函式。
2. 提現函式構造交易,並用自己的私鑰簽上名。
3. 提現函式內部發起向其他超級節點中的此外掛的連結,請求他們為此交易簽名。
4. 其他節點中的此外掛會向自身節點中的監聽外掛驗證此交易的合法性,若合法則簽名並返回。
5. Node1收集到了足夠的簽名,廣播該交易。


ETH

採用智慧合約的方式實現託管賬戶,主要設計思路如下:

1. 合約儲存21個管理者的地址,並規定只有管理者可以呼叫合約。

2. 合約提供一個實現拜占庭共識的機制:當某位管理者呼叫合約中某個需要共識的函式(例:轉賬、更改Owner)時,會根據提供的資訊生成一個提案號(HASH),並將其計數器置為1,然後退出;後續其他管理者繼續呼叫(提供相同的資訊,會計算出相同的提案號),計數器累加,然後退出;當累加到閾值時,呼叫有效,開始執行呼叫函式。

3. 提供變更、新增、移除管理者、變更拜占庭共識閾值等功能。

工程上的實現,合約程式碼開發及部署採用truffle框架,不涉及後續客戶端程式碼。

後續與合約的互動,採用社羣開源的ethereumjs-tx及keythereum函式庫構建交易資訊,然後透過知名閘道器把交易傳送到鏈上。

MSE Wallet ETH的拜占庭共識:

1. Node1 發起提現請求,呼叫此外掛的提現函式。
2. 提現函式發起一筆呼叫以太坊合約賬戶提現函式的交易。
3. 提現函式內部發起向其他超級節點中的此外掛的連結,請求他們也去發起相同的呼叫。
4. 其他節點中的此外掛會向自身節點中的監聽外掛驗證此交易的合法性,若合法則發起呼叫。
5. 以太坊合約收集到了足夠的呼叫,執行該交易。

EOS

採用EOS自身的賬戶許可權機制以及EOS自帶的eosio.msig實現,主要思路如下:

EOS賬戶體系:EOS每個賬戶有一個owner許可權(最大)和active許可權(除了不能更改owner其他許可權同owner)。

多重簽名賬戶,一個賬戶jack的owner許可權和active許可權分別授予alice和bob共同持有,即賬戶轉賬(需要active許可權)需要alice和bob共同許可。

MSE Wallet EOS的拜占庭共識:

1. Node1 發起提現請求,呼叫此外掛的提現函式。
2. 提現函式呼叫EOS鏈上eosio.msig合約賬戶,發起一個提現提案,指定提案所需要的授權賬戶列表,共識達成後具體執行的交易資訊(提現)。
3. 提現函式內部發起向其他超級節點中的此外掛的連結,告知提案名稱,並請求他們去同意提案。
4. 其他節點中的此外掛會在EOS鏈上查到要執行的交易,並向自身節點中的監聽外掛驗證此交易的合法性,若合法則同意提案。
5. Node1一直不停檢視提案的狀態,查詢到同意者足夠則執行該交易,否則在一個過期時間後宣佈提現失敗。

工程上的實現,採用社羣開源的eosjs提供的函式庫構建交易資料,透過向社羣知名的超級節點傳送rpc呼叫(這裡的呼叫選擇並不強制,DATxChain的超級節點和證明節點可自行選擇呼叫其他鏈外節點或自行部署EOS受託人節點)而將交易廣播至鏈上。


2、DATxWallet(多鏈鏈上錢包)


當大量使用者使用鏈外資產向這些多重簽名託管錢包充值時,可能會出現無法準確判斷錢包充值來源的問題。

因此,為了提高DATxChain使用者體驗和便利性,我們設計了可支援多種區塊鏈資產的去中心化錢包,且支援其他專案錢包與DATx錢包進行繫結。也就是說,使用者可用BTC和ETH等鏈外資產透過DATxWallet來使用DATxChain鏈上所開發的優質DAPP。

3、X-DPOS(跨鏈共識機制)

可是,如何維護這些託管錢包的安全性呢?我們在高效能的DPOS+BFT共識機制上增添了新維度——跨鏈節點證明機制。

跨鏈節點由所有DATx持有者投票選出,得票率最高的21個跨鏈節點將成為多重簽名託管錢包的

·為預防作惡,跨鏈節點必須鎖倉等值DATx;
·為保證系統運維穩定性,跨鏈節點必須在其完成維護任務後才可分階段領取獎勵。

如此,DATxChain上有以下三種型別的節點:

超級節點(Anchor Nodes)
由全網DATx持有者透過DPOS共識機制選舉而出,將產生總共21個超級節點負責打塊,出塊速度為0.5秒。超級節點為全網提供頻寬和日誌儲存(disk)、算力及計算儲存(CPU)和狀態存儲(RAM)。通證持有者每個週期(約一分鐘)都可對超級節點投票。

備選節點(Candidate Nodes)
備選節點指參與超級節點選舉的節點,包括超級節點、跨鏈節點以及未被選為超級節點的節點。備選節點總是處於待命狀態,並準備在超級節點或跨鏈節點發生故障時候補。

跨鏈節點(Cross-chain Validators)
透過維護多重簽名託管MSE錢包的安全性,管理多重簽名託管賬戶,確保鏈外資產與鏈上錢包完全對應。第一批跨鏈節點將是第一輪投票中選出的超級節點,之後跨鏈節點的選舉將每三個月舉行一次。

4、鏈外資產充值提現與底層鏈的互動

那麼在具體的充值和體現操作邏輯中,底層鏈的各節點是如何分工合作的呢?

底層鏈監聽鏈外資產充值的流程:

1. 使用者傳送一筆充值交易到託管賬戶;
2. 當節點處於打塊狀態,節點上面部署的LSP程式每隔0.5秒向可信區塊瀏覽器查詢託管賬戶的交易充值記錄,快取在本地;
3. LSP程式查詢節點上的資料庫,判斷該筆充值記錄是否曾經發起過,告訴LSP該筆交易是否發起過;
4. 若交易發起過,從本地快取刪除;若沒有發起過,LSP程式向發幣合約發起一筆發幣交易。

底層鏈驗證提幣請求的合法性

1. 使用者發起對映資產管理合約充值對映資產,BP透過監聽程式收到充值請求;
2. 超級節點收到使用者的提幣請求(表現為使用者向對映資產管理合約充值對映資產;
3. 根據使用者提幣的型別,超級節點檢測該使用者DATx錢包所繫結的鏈外資產錢包;
4. 若驗證失敗,丟棄該提幣請求;

若驗證成功,向多重簽名模組(由跨鏈節點維護)傳送提幣請求,由多重簽名模組向鏈外發起真正的數字貨幣提幣交易,並由跨鏈節點對提幣交易進行多重簽名;

5. 多重簽名成功後,託管錢包轉賬至使用者,使用者收回其鏈外資產。


5、MASC(對映資產合約)


根據以上流程,使用者端的充值和體現其實主要是與對映資產的合約進行互動。所以DATxChain內部需要部署MASC來完成兩個主要功能。

5.1 發行對映資產

主要針對BTC、ETH和EOS這些代幣在DATxChain上以代幣的形式流通。

實現過程如下:

1. 創世區塊生成後由第一個打塊節點透過系統合約DATxio.token建立系統賬戶;
2. 第一個打塊節點呼叫DATxio.token合約發行等量的錨定代幣DBTC、DETH和DEOS;
3. 所有的超級節點對錨定代幣具有active的許可權。

5.2 向使用者的DATx地址轉入對映資產

以充值BTC為例,使用者充值操作實現過程為:

1. 使用者透過MasterWallet向DATx錢包充值10個BTC;
2. BP將監聽到的該筆10個BTC交易資訊和自身資訊以action的形式傳遞,觸發發幣合約呼叫 bpTransfer介面形成一筆交易Transaction;
3. 這筆Transaction交易廣播出去後,被封裝的block成為irreversible時,BP觸發發幣合約transfer向使用者的DATx地址中轉入等量的DBTC。


關於更多DATx資訊:

更多區塊鏈專案:http://www.qukuaiwang.com.cn/news/xiangmu
風險提示:區塊鏈投資具有極大的風險,專案披露可能不完整或有欺騙。請在嘗試投資前確定自己承受以上風險的能力。區塊網只做專案介紹,專案真假和價值並未做任何稽覈!

免責聲明:

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

推荐阅读

;