Bitguai.com

区块链技术丨改变世界
做高价值的区块链资讯媒体

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信息:https://www.datx.co/

更多区块链应用项目:https://www.bitguai.com/block/xiangmu/
风险提示:区块链投资具有极大的风险,项目披露可能不完整或有欺骗。请在尝试投资前确定自己承受以上风险的能力。比特怪只做项目介绍,项目真假和价值并未做任何审核!


本文由比特怪小编整理编辑发布,文章地址:https://www.bitguai.com/block/xiangmu/25759.html,转载请注明出处!

免责声明:转载此文为传递更多市场信息,不代表比特怪的观点和立场,请自行参考。



商务合作(QQ):755847138
媒体合作:Market@bitguai.com
底部导航

本站除标明"本站原创"外所有信息均整理转载自互联网,版权归原作者所有。如有不妥,请联系我们修改或删除。

CopyRight 2017-2018 Bitguai.com All Rights Reserved丨苏ICP备18049263号-1 百度地图 谷歌地图 RSS订阅


比特怪成立于2017年,秉承做高价值的区块链技术和应用为核心的区块链资讯媒体。网站内容主要涵盖区块链技术、游戏、应用场景和区块链项目落地等。让区块链技术应用服务于各个行业。