理解DMCH区块账本结构BLOCK-DAG技术背后的战略意图

2020-07-13 14:14 栏目:经验之谈 来源:网络整理 查看()

在文章DARMA现金匿名公共链技术(二)中,我们解释了在DMCH项目中使用libp2p框架对于整个项目的可扩展性的重要性。在本文中,我们将重点介绍DMCH项目中使用的块-数据组技术。我们知道,一段时间以来,关于区块链分类账结构的讨论一直很热烈,目前的研究方向主要包括链式结构、图式结构和树状图式结构。DMCH采用树型模式结构,并通过BLOCK-DAG技术实现。通过本文的分析,我们希望社区成员能够理解DMCH具有超高TPS的潜力,希望社区成员能够理解DMCH的block browser的信息。在本文的最后,将给出一个总结,时间不够的社区成员可以直接看到结论。

区块链的分类账结构

本质上,区块链的本质是一个分类账。像任何其他数据库一样,它包含有关各方之间交易的信息。然而,如果你想让这个数据库容易受到攻击,最重要的是,同时在许多设备上保持相同的状态,这将是棘手的。

1.链式结构

链式结构的账簿(见下图)代表了众所周知的比特币。比特币通过其协商一致机制确保只有一个合法的主链,但工作量证明增加了网络延迟,以确保网络同步和抵御大多数攻击。同时,我们可以看到图中的块1已经被主链丢弃。

理解DMCH区块账本结构BLOCK-DAG技术背后的战略意图

然而,这个街区也是被矿工挖出来的,也就是说,花掉我们的资源(计算资源、电费)是没有用的,这导致比特币的TPS非常低,只有7TPS。当然,比特币正在测试的照明网络可以达到10,000 TPS,但这是另一个技术问题,我们将来会有机会与您讨论。

2.模式结构

模式结构的代表性书籍(见下图)是IOTA和ByteBall。DAG是一个没有方向和循环的图。你可以把它看作是创建区块链过程中的一个中间步骤——它的一些区块已经连接到边缘(因此它是有序的),而其他的没有,因此需要额外的努力来构建基于DAG的最终链,这正是基于DAG的共识协议所需要的。

理解DMCH区块账本结构BLOCK-DAG技术背后的战略意图

与链式结构相比,模式结构具有抗双花攻击、交易成本较低(IOAT可达0)和可达数万超高TPS的优点。阿尔法零项目的DAG协议在128个节点下可以达到100000个点。然而,模式结构有两个最大的问题,即,它容易导致集中化并且不支持智能契约。DAG的应用场景是支付和物联网。我们在这里不讨论太多,感兴趣的社区成员可以自己在网上学习。

3.树模式(块模式)结构

树形结构的账簿(见下图)代表DMCH。这种结构实际上结合了链式结构和模式结构的优点。

理解DMCH区块账本结构BLOCK-DAG技术背后的战略意图

树模式(块模式)结构具有抗双花攻击、分散、支持智能契约和高TPS的特点。DMCH在实验室环境中的TPS达到5000。当然,我们并不是说DMCH性能优异,因为网络条件和硬件水平等不同的约束条件会导致TPS峰值的差异。我们希望每个人都能对树型模式结构TPS的大小有一个概念。目前,DMCH主网的TPS保持在70TPS。这是什么级别?目前,比特币是7TPS,以太网是25TPS,Litecoin是56TPS,Monroe是4TPS,Zcash是27TPS,DASH是35TPS。对不起,当我写到这里的时候,老祖又去买了一些DMCH。

DMCH街区-达格原则-通往简的大道

在我们与社区不和谐中的DMCH开发人员交流了DMCH BLOCK-DAG的技术细节之后,我们在这里向社区成员解释DMCH BLOCK-DAG树模式结构的实现原理。我们在这里解释原理的原因是,DMCH的开发者非常简单地解释了技术,这意味着道路很简单。如果别人能用简单的语言清楚地解释复杂的问题,那么这个人一定是值得信任的。

1.使用块数据组技术目的

实现DMCH链的扩张,解决DMCH链的吞吐能力,提高TPS。

提高DMCH链的安全性,抵抗51%计算能力攻击和先天免疫双花攻击。

2.2的原则。BLOCK-DAG技术提高DMCH链的性能

DMCH BLOCK-DAG技术与以比特币为代表的传统链结构的最大区别在于,在同一块高度上允许有多个块。这意味着块的组织基于图,而不是“链”。为了与传统表达兼容,“区块链”仍然用于描述整个树模式的块结构。总而言之,有两个核心点:

在相同的链高度上有n个块,这意味着在相同高度上的交易量增加了n倍。

当比特币激活最佳链开关时,大大减少了丢弃块的低效操作。

3.实施过程中需要解决的问题3。分组数据组技术

DMCH砌块-DAG技术允许多个砌块处于相同的砌块高度,这导致以下两个问题:

解决同一链高上所有块的事务重复和双花问题。因为BLOCK-DAG技术允许块的并发性,所以BLOCK-DAG技术将所有合法的事务放入块中,然后广播上行链路,产生对应于多个块的链高度,并且这些事务可以被重复和双花。

解决交易秩序和确定性的问题。因为有些交易是相关的,例如,交易乙指的是交易甲,典型的情况是智能合同。如果在DMCH创建了一个合同交易,将会有一个称为合同的交易。

在咨询了DMCH的发展后,老祖发现他们真的是天才。有时候技术真的是一张纸,就像这样。以下是解决方案,解决方案非常简单:

对于第一个重复消除和双花问题,解决方案是根据规则过滤和排序这些交易,并确定哪些交易是真正合法和有效的。实现方法是每个节点根据一致性规则(见下面的一致性规则)自动选择有效的事务,并按照规则生成的顺序将它们存储在单独的事务数据库中。

对于确定交易顺序和确定性的第二个问题,解决方法是收敛和排序区块链,并通过“拓扑排序”生成全顺序。这里的收敛算法应该具有高效性和一致性的特点。

DMCH共识规则是一个高度最多允许有3个积木,每8个积木向前推一次,根据最大累积难度选择一个主链。这个主链块的高度称为链高;由于在同一链高上有多个块,系统按照难度从大到小的顺序进行排序,最终完成整个网络中每个块的拓扑序列排序。排序高度称为拓扑高度;因此,DMCH有两个高度:链高度和拓扑高度,拓扑高度总是大于链高度(请记住“两个高度”的概念,稍后查看块浏览器时会用到它)。

4.DMCH BLOCK-DAG技术顺便解决了51%的双花攻击

在了解了DMCH BLOCK-DAG技术之后,老祖敢于使用“顺便”这个词。由于低计算能力的矿工生产的新块也将被链(所谓的侧链)接受,并且还将获得部分块奖励(所谓的侧链奖励),具有主导计算能力的矿工不能再发起双花攻击和随意强制链回滚。DMCH的封锁时间是15秒,封锁会持续2分钟。计算8个高度块后,不允许重组。根据每个高度最大允许3块,总共允许24块。在此期间,只要链中增加一个块,就不能对DMCH链发起51%的攻击。因此,DMCH链不能回滚事务,而只能阻止事务,其最低计算能力要求为23/24=95.8%。事实上,与其解决它,不如减少它,因为当计算能力超过95.8%时,可能会发生攻击。

5.DMCH程序处理逻辑

约束条件:

为了提高收敛性能,在指定的块高度范围内收敛块是DMCH网络共识的一部分。众所周知,DMCH网络的收敛间隔是8个高度,因此当一个块的块高度不在收敛间隔8内时,该块将被直接丢弃。

处理逻辑:

当挖掘者产生新的块时,获得所有的结束块集,这些块集被称为提示(提示在IOTA技术中是一个名词,意思是未确认的事务),根据累积的难度对提示进行排序,取前k个提示,当前k=3;新块记录这些提示的块哈希,这类似于区块链中的父块哈希。收到新块后,如果合法性检查通过,则按照以下步骤开始收敛:

步骤1:

沿着图的路径追溯当前区块链的所有顶点,并找到第一个同步的块(即,仍在收敛且没有稳定确认的块)。因为可能有多个顶点,所以可以获得集合G。

步骤2:

集合g根据累计难度排序,其中难度最低的块及其高度设置为开始。

步骤3:

取当前区块链所有顶点中难度累积最大的顶点对应的块和高度,将其设置为结束。

步骤4:

让块范围r为[开始,结束],并根据区间中的累积难度进行排序,以获得唯一的线性化块顺序。

第五步:

遍历线性化的序列表并删除重复的事务。

步骤6:

当产生新的块时,重复上述步骤。

学习查看DMCH块浏览器

到目前为止,我们已经引入了DMCH BLOCK-DAG技术。在此基础上,让我们来看看DMCH块浏览器(见下图)。官方屏蔽浏览器地址是https://explorer.darmacash.com/.

理解DMCH区块账本结构BLOCK-DAG技术背后的战略意图

从图中可以看出,哈希值为f 07809 be 41 f 26 dbbc 9e 265314 aecb 71637 a 115 c8 cf9 FD 06d 089 c8 a 46858 ad 961的块的链高为109215,拓扑高为134117,属于侧链,获得0.0691的奖励;另一个哈希值为38 f1 a10 ff 96157159 a15 b 52 FB 201 b 322 ba 06034 e 428246 B3 d 009 df 136 e 35 ad C3的块的链高为109215,块高为134115,属于主链,奖励为0.345。只要你理解了上面提到的BLOCK-DAG技术的原理,你就可以理解并得出这样的结论:在DMCH,拓扑高度对应于一个接一个的块,链高度可以对应多达三个块。

使用BLOCK-DAG技术背后的战略意图

综上所述,传统的链式结构通过交换和丢弃块来保持顶层块的收敛,这是TPS低的最重要原因,而BLOCK-DAG通过并行分块解决了上述问题,从而大大提高了TPS,就像比特币是单核计算机,而DMCH是多核计算机一样。

DMCH的BLOCK-DAG技术实际上是一个用空间换取时间和效率的经典案例。由于块的并发性,DMCH的数据库将比一般的项目数据库大,这是一个牺牲空间。然而,在当前存储成本越来越低的情况下,这种牺牲值得一提。作为这种牺牲的交换,TPS被提高到70(考虑到全局硬件和网络级别,在实验室中是5000秒),15秒内一个块,整个网络收敛2分钟,并且支持匿名合同。

那么,DMCH使用BLOCK-DAG技术的战略意图是什么?老祖在一句话中说得很清楚,以太网的TPS目前是25,只支持非匿名合同。

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

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

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

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