阅读
扫描关注微信公众账号

扫一扫微信二维码

深入了解DOS Network设计细节

软件2019-04-01行业资讯
1. 跨链互操作性
       DOS网络为异构区块链之间的跨链交互打开了一扇大门。DOS网络给以太坊区块链和EOS区块链提供数据预言机服务之后,数字钱包理论上,以太坊上的智能合约经由DOS链下P2P网络的路由就能够调用EOS链上的智能合约,触发跨链状态变化。因此,DOS网络可以充当异构区块链之间互相操作的连接器或桥梁。

       一个简单的应用场景比如原子级交换不同区块链上的加密资产。现在的去中心化交易所只能交易同一区块链内的资产,比如以太坊上的EtherDelta和基于0x中继的去中心化交易所无法交易EOS区块链上的资产。然而通过DOS网络的帮助,这个需求可以通过在以太坊和EOS区块链上分别部署两个DEX合约来实现: 分别定义两个链上的协作函数,以太坊上DEX合约里的函数通过DOS网络作为桥接器调用EOS链上DEX合约里的函数,对跨链订单和账户余额的状态变化做原子更新。这个例子展示了DOS网络在跨链互操作方面的应用和潜力。

      对新支持链的区块链节点(全节点、轻节点、或利用infura等 远程全节点服务)的运营和维护都取决于DOS预言机节点运行者对自身容量和经济利益的考虑;DOS团队则负责将链上系统合约移植和部署到新支持的链上,并发布链外核心客户端软件,包括协议更新和对新链的适配支持。

     要为新支持的链启动DOS预言机服务,主要是初始化时组的注册和非交互式DKG流程生成组内密钥碎片。注意到对于支持的不同的链,token钱包开发每个链上的系统参数比如工作组大 小M和注册组数量T等可能会不同;在不同的链上生成和发布的随机数r通常也是不同的。
 
2. 链.上设计细节

2.1 代理系统

代理系统为用户合约提供标准的链上接口,一旦响应就绪,就将异步回调给用户合约。提供给用户合约的接口是通用的、简单的,如下所示:

●  向DOS代理合约发送查询请求;
● 使用从、_ callback_ 、 函数中回填的结果,来完成一些后续处理工作。

2.2 链上治理系统

监控系统
监控系统是用来保存链上的链下DOS节点的QoS (服务质量)指标和网络统计数据的记录,包括:

●由最新一轮选择的链下组产生的随机数,可以作为一种新型的链上随机源;
●组的大小,注册组的数量,每次注册的小组已被选中的次数,正常运行时间和为了防止组内窜某而设立的解散时间等;
●支付、权重百分比、回调延迟统计和未处理的查询请求;
●已注册的链下DOS节点的服务质量分数,包括正确率和报告结果的响应率一质量得分极差的节点将被排除在链下共识协议和支付流程之外;
●更多...

基于这些丰富的链上指标,可以构建一个监控Dapp来展示DOS网络的实时状态。

注册系统

DOS链下节点要加入网络,他们需要抵押并锁定一些DOS token作为保证金,在注册合约中登记他们的保证金地址和支付地址。它们将在至少1个阈值组G中进行注册,并可能会相互重叠。阈值组的注册过程在下面的链下结构一节中介绍。

保证金使系统能够抵抗女巫攻击,提高系统的安全性。同时保证金也可以被看做节点愿意贡献带宽和计算能力使DOS网络更强大的一种承诺,他们将获得‘挖矿”奖励并赚取手续费。锁定期有助于稳定网络,避免过于频繁的注册和注销。任何超时的情况也     将被罚款,没收部分保证金。在一定时间限度内没有响应的组将被从注册系统中删除。

支付系统

针对数据请求的付款将被发送到所选择的处理请求的“國值组”里,并分发给诚实的成员。这些付款将首先被存储在支付合约中,因为节点运营者并不需要实时的接受这些付款。主动提款模式是更好的选择,节点操作者可以检查和提取其收入,通过前端UI操作虚拟币钱包开发或者直接与付款合约进行交互。


DOS token有两种用途:系统内置的支付token和抵押token。然而,对于那些拥有被广泛接受的稳定币的区块链(例如Ethereum),稳定币是-个更好的支付token,节点运行者不会因价格的波动而面临风险;收费的定价模式也将更容易制定。我们将首先支持DOS作为支付token,从长远来看,节点运行者和token持有者将有管理权,投票选择接受哪些稳定币(DAI/USDC/TUSD/等) 作为额外的支付token。

我们也会支持多种支付方案:按次付费将被广泛采用,适合于个人开发者和使用预言机频次较低的Dapps,优惠订阅模式将更有利于高度依赖预言机的应用程序,如稳定币和其他去中心化的开放金融平台。

链上系统将采用模块化设计模式,所有链上合约都是可升级的。由于它是一个开放的分布式网络环境,而且不同的群体有不同的经济诉求,没有一个简单完美模式适用于所有人。今后将对更多的治理实验和经济模式进行研究和探索。

3. 整体架构
我们以Ethereum区块链为例,简要讨论由用户合约发起的按需数据查询的整个过程。它看起来类似于请求和响应模式,然而,从用户合约的角度来看,它是一个异步的过程:

①:用户合约通过对DOS链上系统(一组开源的智能合约,配有很好的技术开发文档给开发者)特别是DOS代理合约的消息(message)调用发出数据查询请求;
②:DOS代理合约触发带有查询参数的事件(event);
③: DOS客户端(用户运行的DOS链下部分),持续监听着区块链上定义好的事件。这个时候会被通知到。理想情况下,应该有数千个DOS客户端在运行。通过使用可验证随机函数(VRF) 构建的分布式随机引擎,随机选择一个注册组;
④&⑤:选定组中的成员同时进行尽职调查,请求webapi,执行计算或执行已配置的脚本;
⑥:他们将通过t-out-of-n门限签名算法达成“组内”共识,并将共识之后的结果反馈给DOS链上系统,只要随机选取的组中有超过t个成员是诚实的,就能得到共识之后的结果。选择的组成员的身份和QoS(响应性/正确性等)性能将被记录在链上,用于监测和数据分析;
⑦: DOS代理合约通过调用用户合约提供的回调图数通知用户合约结果已经就绪。

4. 链下设计细节


4.1 第一部分:去中心化数据流预言机

       链下DOS节点在开放的拜占庭网络环境中就相同API调用的结果达成-致的问题与区块链需要解决的共识问题非常相似。来回顾下有关比特币与其他各种XX证明共识算法是如何工作的:实质上在协议的每-一轮, 希望通过-种没有 任何-方能够轻易垄断的资源来实现随机的领导者选举;只要大多数参与者是诚实可信的,区块链就会在概率意义上达成共识。生成公平、无偏的随机数对完成拜占庭容错(BFT) 共识机制尤为重要。我们主要通过利用可验证随机函数(VRF) 和门]限签名方案[25)来证明下面的链下共识协议。简单来说,我们不是在全网的所有节点中进行领导者选举;在协议运行的每一轮,从所有注册的工作节点组中随机选择一个工作组,再在随机选中的工作组中采取门限签名方案-只要超过↑(阈值)个节点是诚实遵循协议运行的,那么选中的工作组就可以达成链下共识。

4.2 第二部分: 计算预言机

       可验证的计算意味着客户可以向不可信的、但是具有充足计算能力的第三方外包-些计算任务。计算结果以及证明结果有效性和完整性的证明将一起返回给客户,客户随后仅仅需要做一步验证计算,而不需要执行原始计算任务。

        一旦上述第一部分的开发完成,我们就已经可以提供--个基于共识的计算型预言机,这个想法很直接:对于每个计算请求,随机选择一组计算节点,每组成员执行确定性计算任务,并将得到多数节点同意的结果发送回去。这在短期计划里可以作为我们为DOS所支持的公链们提供的计算预言机服务的方案,但是我们希望在长期路线图中提供更好的选择。







文章关键词
数字钱包token钱包开发虚拟币钱包开发