财经
注册    登录    投稿

DAG,不是传统区块链,却比区块链更好?

7577
发表时间:2019-03-15 14:11来源:JURA侏罗记

  在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。一个有向图只有在有拓扑序列的时候才是无循环的。

  区块链是一项很惊人的技术,只是当前大量的区块链技术处在待开发阶段,目前公开的可用的区块链解决方案也仍处于探索阶段。

  现在看来没有任何一种区块链技术可以同时提供很强的延展性,快速的交易结果,和强大的可依赖性。一个克服这些问题的方法是使用DAG来作为底层数据结构。DAG已在例如调度,数据处理网络,逻辑关系(Causal Structure), 数据压缩等领域得到了前景广阔的运用。所以说,DAG到底是什么呢?

  简而言之,区块链是可以通过密码验证的单向链结串列。而DAG是一种不同的数据结构。DAG的全称是有向无环图。使用DAG可以绕过一些区块链最令人气馁的限制比如像缺乏可延展性,灵活性,和终结性(finality)。

  在一个DAG里,所有节点都是指向同一个方向的,因此它是非循环的。没有任何元素可以引用回自己。它是一种只允许单向信息流动的数据结构。DAG主要用于数据处理,调度,和数据压缩相关的问题上。

  由于POW和POS系统的不足,区块链很难达到更高水平的交易速度。这阻碍了区块链作为一项技术被全球所应用。然而,DAG支持网络运行平行的节点,只要是所有节点向一个方向流动就好。

  使用DAG有很多好处:

  1.交易速度快

  由于DAG无区块化的性质,交易会直接进入DAG网络里。整个交易过程会比基于POW和POS的“区块”链快很多。

  2.无需挖矿

  在DAG系统里,这里没有矿工也没有区块。用户确认彼此的交易是通过“每笔新的交易来确认之前的交易”。因为这里没有区块,所以并没有区块大小问题。因此,类似于比特币等货币中的区块大小辩论问题并不存在。

  3.对小笔交易友好

  由于DAG的领先技术,这代表着用户可以交易非常少的货币而不用像比特币或以太坊一样付出很高的手续费。

  DAG技术可以在几秒内处理很大数量的交易。DAG将用于需要可延展性,每秒有上千交易的应用上。

  虽然,DAG在数据结构上很灵活,它仍然有很多缺点:

  1.没有全局的状态

  在区块链中,每个节点可以根据账本历史交叉检查交易,而且还可以检查出双花交易的威胁。然而,由于DAG遵从一个交易跟随另一个交易的原则,它并不存在全局状态。随着数据库大小的增加,修剪是必要的。但是DAG基本上就是给系统截了一张图,然后让节点删除前面所有的交易。

  2.双花问题

  我们可以通过分片技术解决这个问题。但是当所有分片为一个协议运行的时候,它们只能看到一部分正在进行的交易和一部分相关的历史。这会造成很多问题。首先,防止双花交易变得困难了。例如,想象DAG被分成十个部分,交易在碎片中的两片中。除非有一个节点可以同时看到这两个分片,这笔交易会分别通过这两个分片完成。

  3.更高的花费

  随着DAG大小的增加,这个问题变得更普遍。碎片越多,重叠越少。最简单的解决方案是所有节点在每次它们看到的交易时都联系对方,但是这样的话每个节点的花费将会是一样的,因为所有节点共同支撑了整个DAG。

  4.容易被攻击

  DAG由于缺乏持续挖矿,并且黑客只需要掌握超过三分之一的哈希算力就可以攻击整个网络。在一个DAG结构中,性能是以牺牲去中心化的安全性为代价的。比特币的一个卖点就是它分散性的网络遍布全世界,但是DAG有限的节点比起比特币成千上万的节点很容易受到攻击。

  5.不保护时间戳

  作为去中心化的点对点价值传输系统,比特币通过UTXO、时间戳等技术的整合来解决双花问题。但是需要精确时间戳的应用却很难在DAG上建立。如果DAG不保护时间戳,双花问题将会不可避免的发生。

  DAG有能力超过现在的区块链。但是就像区块链对它们的容量有限制一样,DAG也有。所以问题来了,什么才是最完美的数据结构?


分享到:
合作伙伴

合作伙伴

副标题

商务合作

微信:Aimeng-2016
邮箱:liantongshe@163.com
友情链接