首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

缝制工艺方法帮你快速理解DAG技术!

随着区块链技术的热门发展,越来越多人使用比特币、以太坊等区块链,这也使得效率低下的问题越来越突出了。而随着ICO市场的爆炸式增长,由于人们疯狂购买以太坊来投资导致以太坊网络经常严重延迟。

为此,扩容已经成了当前区块链技术发展的重要议题。其中出现了出现了一项受到广泛关注的技术:有向无环图,即Directed Acyclic Graph(DAG)

为便于小伙伴的理解,本文将用比较容易理解的方式来解释下什么事DAG技术,让每位小伙伴都能快速掌握并理解。

我们知道,区块链技术是一种链式数据库结构,每个区块就像铁链一样,环环相扣。而DAG其实与数组、排列、区块链一样,也是一种数据结构。

但与区块链不同,DAG将最长链共识改成最重链共识。传统区块链上,新发布的区块会加入到原先的最长链之上,并且以所有节点都认为最长的链为准,依次无限蔓延。而DAG中,每个新加入的单元,不仅仅只加入到长链里的一个区块,而是加入到之前的所有区块。

假设当你发布新交易时,前面有两个有效区块,那么你的区块会主动同时链接到前面两个之中,DAG 中的每个新单元,验证并确认其父单元,以及父单元的父单元,慢慢可达创世单元,并将其父单元的哈希包含到自己的单元里面。随着时间递增,所有交易的区块链相互连接,形成图状结构,如若要更改数据,那就不仅仅是几个区块的问题了,而是整个区块图的数据更改。DAG这个模式相比来说,要进行的复杂度更高,更难以被更改。下图是一个网状的DAG结构:

在DAG 结构中,交易总是自己创建并发布。从理论上看,攻击者总是可以建构比它要推翻掉的那个交易权重更高的交易用以双花。

看了以上文字后,可能觉得有点晕了,没关系,下面通过图形来形象的解释一下:

首先来看区块链,区块链是一种链式数据结构,如下图:

而DAG的数据结构则可以用下图来表示:

在上图中,1和2号是创世节点;第3个节点产生时,只需要确认1号和2号的交易;第4个节点产生时,只需要确认2号和3号,以此类推。

上图是已经经过拓扑排序后的图,比较好理解。它也可以表示成网络图结构,如下图:

如果还没搞懂,那我们再用服装缝制工艺来表示区块链和DAG数据结构(这个比方便于普通人理解):

下图是平针针法,就好像区块链,是一个单链的结构。

下图是回针针法,每次产生新的节点(针眼)后,需要往回走一针,就好比DAG,需要有之前的两个节点同时进行确认。

DAG不是区块链技术,但是现在通过DAG技术实现的去中心化网络仍旧被归在区块链板块中。DAG技术还存在很多不完善的地方,相信该技术的发展前景会非常良好。随着应用的人更多,执行效率也会更高。这是DAG技术与区块链技术最大的不同:区块链技术的效率会随着应用的增加而降低,而DAG却恰恰相反。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180917B1WSYY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券