Dora网络一个免交易费的高性能高并发公有链

2018-11-19 15:10 栏目:经验之谈 来源: 查看()
Dora网络是一个高性能,高性能的公共链,没有交易费用。为了解决当前公共链的性能不足并满足更广泛应用的需求,Dora网络从三个方面解决了性能问题::垂直扩展,水平扩展和一致性算法。

1)Dora Network Vision

作为下一代公共链,Dora网络旨在成为一个可供所有人使用且易于使用的公共链。 Dora网络采用全新的开创性区块链架构,旨在通过区块链技术满足全球业务活动的需求。 Dora网络的灵感来自CPU设计。管道模型和分支预测算法应用于区块链设计。提出了一种解决区块链可扩展性问题的独特解决方案,极大地提高了区块链的性能。安全和权力下放。

2)多拉网络的纵向扩展

传统的区块链扩展解决方案分为两个:状态通道和多链段。这些传统方案基于交易的序列化。事务的序列化允许每个矿工节点独立地执行和验证。从相同的Genesis块,获得相同的串行操作序列,从而产生一致的输出结果。事务的序列化导致系统的TPS限于单个节点的性能。为了解决上述性能问题,Dora网络并行执行并行传输事务和智能合约传输事务以优化系统性能。

2.1)普通转账交易的并行化

将帐户视为节点,A到B,在A节点和B节点之间添加有向边,侧面的数字表示传输量。块内的所有事务都可以形成映射。例如,假设一个块包含以下事务:{转移到B 10令牌,转移到C 5令牌,D转移到F 3令牌,E转移到G 2令牌,如下所示:

Dora网络一个免交易费的高性能高并发公有链

从图中可以看出,这些事务被分为三个子连接图: {A,B,C},{D,F}和{E,G},并且在同一事务中存在依赖关系。连通图。串行执行,但不同的连接图可以并行执行,如D转移到F,E转移到G顺序执行顺序只处于中间临时状态,但不会影响块的最终状态。

2.2)智能合约交易的并行化

智能合约的执行可以在逻辑上分为两部分。:一部分使用白色标记EVM来解释执行部分,另一部分使用灰色来识别真正改变世界状态的部分。灰色部分是影响最终世界状态的关键组成部分。在执行智能合约期间,Dora网络收集智能合约所依赖的外部账户的世界状态,并收集最终影响的外部账户的世界状态。只要智能合约所依赖的账户组和更改与另一个智能合约所依赖和更改的账户组相交,这两个智能合约就会相互连接。块中的所有智能合约交易分为不同的连接子图,每个子图可以并行执行,如下图所示:

Dora网络一个免交易费的高性能高并发公有链

3)多拉网络的水平扩展

多拉以子链的形式横向扩展区块链。通过将智能合约集划分为单独的子集(基本上通过dApp),让这些子集在子链上独立运行,允许主链事务被分流,相当于对输入集进行操作。碎片化过程。子家族链采用账户模型。帐户可以在子链和父链之间共享,但是它们在不同链上的状态将被单独记录。同一帐户记录不同链中链的世界状态。多拉网络的字母链结构如下:

Dora网络一个免交易费的高性能高并发公有链

3.1)子链安全

Dora网络主干的矿工间隔地在子链中生成块。子块信息ChildChainBlock(尚未记录在主链中)被打包并传送到主链,但完整的子区域不记录在父链上。块信息,但只有子块头信息,只是一个记录,而父链的矿工不负责验证。为了确保子链数据的安全性,Dora网络设计了一个新的监控角色。

监视器还将监视父链和子链的所有事务。当它检测到父链上存在子链块消息Child-ChainBlock时,它会在检测到子链后组合先前接收的子链事务数据以进行验证。如果区块中存在问题,则证据将提交给母链,并且矿工对母链的检查将惩罚特定子链的打包矿工。

Dora网络一个免交易费的高性能高并发公有链

3.2)数据修剪和快照

为了解决数据扩展问题,Dora网络父链支持修剪和剪切子链块信息,并且父链上记录的子链数据仅保留最近块的数据(如作为2048块),在从父链中删除数据之前的时间更长。

同时,父链也支持快照。一个快照包含当前块中所有帐户的世界状态信息。新节点只能从一个快照块开始快速同步,甚至轻量级节点也可以在快照之前删除所有块数据。

3.3)跨链交易

通常,令牌只会在特定的子链内运行。 Dora网络设计了一个特殊的CrossChain-Transaction事务,允许同一帐户中的令牌在子链和父链上传播。

CrossChainTransaction: { Blockno:块号,rawtransaction,其中block blockhash: blockno对应块Hash
Merklepath:验证rawtransaction是否在Merkel树路径的块blockno中rawtransaction: {
所有者:''0xfbc2a4 ... ed'',
符号:“UT”,
值: 100,
方向: 0或1(0表示从子链到父链,1表示从父到子)
}

假设当交叉链事务发生:时,帐户A将100个UT传输到父链
1.在UT子链上启动特殊转移交易,表明100个UT从子链账户A转移到母链账户A;
2.在子链上确认特殊交易后,等待子链的矿工将包含交易的块信息记录到母链;

3.然后,在子链上启动从子链到父链的CrossChainTransaction事务,使用步骤1中的传输事务,块高度和用于父链验证的merkle路径;

4.父链矿工验证CrossChainTransaction。如果验证通过,则将其打包到父链块中,并修改父链帐户A的状态记录并将其转移到100个UT。相反,令牌可以遵循相同的规则并且可以从父链转移。回到子链,这种方法的好处是令牌在整个转移过程中保持在同一帐户中,这与引入额外受控帐户的其他交叉链解决方案不同。

Dora网络一个免交易费的高性能高并发公有链

在Dora网络父链上设计了一个特殊的TokenSwapAction,它允许两个令牌之间进行原子交换。它需要携带双方签名的信息,同时检查双方的余额,以确定是否可以进行交换。

TokenSwapAction:
  {taker:'LRC',
   takerAddr:“0xfbc2a4 ... ed”TakerValue: 1000,
   maker:'RDN',
   makerAddr:“0xabc35e ... ef”makerValue: 500,takerOrderWithSignature: makerOrderWithSignature:
}

通过这种原子交换令牌操作TokenSwapAction和交叉链操作CrossChainTransaction,可以实现子链和父链之间的交叉链事务。

Dora网络一个免交易费的高性能高并发公有链

4)DVBC一致性算法

为了平衡高性能和高安全性要求,Dora网络提出了一种结合了安全性和效率的混合一致性算法DVBC(Delegate Verifiable BFT Consensus)。 DVBC基于DPoS,VRF和BFT,分为3个级别。假设M个节点,总共N + 1个节点被选中,N最初被视为21.在每轮共识开始时,Dora网络首先使用第一层算法DPoS从中选择前N/3个节点。 M节点根据选票的大小。这些节点将自动成为当前图书的记账员。第二层算法将剩余节点M-N/3作为候选节点,并使用可验证的随机数VRF算法从这些节点中随机选择2 * N/3 + 1个候选节点作为当前轮次的计费。通过。最后一层使用BFT算法在N + 1个簿记员之间达成一致意见。一致性算法可以确保只要N + 1个节点不超过N/3作为邪恶节点,就可以保证块的正确性,并且没有分叉,防止超级节点相互协作。另外,由于还可以选择其他候选节点作为计票器,因此可以将更多节点用作候选节点,从而提高网络的安全性和鲁棒性。

考虑到每个dApp的不同安全性和性能要求,Dora网络允许在创建子链时创建子链一致性算法: DPoS + VRF,BFT或两者的混合。

4.1)BFT算法的并行优化

假设每个块的四种姿态,prevote,precommit和commit的状态的时间是T1,T2,T3和T4。通过串行执行生成和确认N个块所需的时间是N *(T1 + T2)+ T3 + T4)。

从管道的角度考虑这个问题,可以按顺序并行执行这四个状态。理想情况下,如图11所示,以流水线方式生成和确认N个块所需的时间是N * T1 + T2 + T3 + T4。当N足够大时,在该流水线操作之后,时间约为N * T 1。

Dora网络一个免交易费的高性能高并发公有链

多拉网络与区块链生态系统一起发展,并继续关注区块链领域的最新研究方向,吸收和改进现有的研究成果。


微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发