特别说明:本系列知识课程是我在 2019 年初撰写用于内部分享,观点若存在疏漏有误欢迎指正;本系列知识分享目的是通过白话形式让更多人了解区块链底层知识。

随着区块链被人们逐渐知晓,使用区块链的用户也在大规模的增加,比如像知名的公有链平台以太坊和比特币,当然就存在着运行效率不足的问题,因为处于其独特的共识机制,每一个区块的产生都会消耗一定的时间,而且每个区块也有相应的容量限制,这对于要能够满足商用的区块链来说,运行效率则远远不足,因此这也倒逼着区块链领域的技术推进工作。

而今天,我们介绍的 DAG 就是一种独特的解决方案,DAG(Directed Acyclic Graph)翻译为:有向无环图。网络上关于 DAG 技术的讲解,基本上都是一些比较偏向于学术性的资料,因此对于同学们理解起来可能比较困难,因此在接下来的我仍然采用对比法的方式帮助同学们理解。

好,我们知道区块链是一个个区块连接而成的链状结构,你可以理解成为它更像一个铁链一样,一环接一环。为了保证整个区块链的共识性,它只有一条链也就是主链,其他的分叉链由于没有达成共识,都会被丢弃。和区块链结构不同的是,DAG(有向无环图)根据字面理解,它是一个有方向,但却没有形成闭环的网络图状结构,也就是在 DAG 里没有区块链里「区块」的概念,而是一种叫「单元」的机制,当你通过 DAG 网络去发起一笔交易的时候,这笔最新交易的单元会把前面两个单元的哈希值放到你这笔交易的单元内,完成对上面两笔单元交易的验证并广播全网,以此类推,每一笔新的单元都需要把之前的父单元,以及父单元的父单元写入到最新的交易单元中,以此确认交易的确认,同时你所发起的交易也需要后面两笔交易来确认,这样就可以保证整个基于 DAG 的网络不被修改,因此你就会发现基于 DAG 的技术具有很强的不可篡改性,因为你想一下,一旦你想要修改其中一个单元,那么基本整个 DAG 体系的结构都要修改,可想而知几乎是不可能的。

虽然 DAG 没有区块链的主链机制,不过它却有「重链机制」,也就是那条链最长,新发起的交易则优先加入并且链接那个单元,因为我们知道,基于 DAG 的每一个单元都可以自己分散自己的走向,但是由于 DAG 的验证机制,它会验证最新两笔的交易单元,那么也可以保证其走向基本一致的,也就是最新的一个单元会对上面的单元进行合流。

此外,因为区块链采用的是同步记账,也就是我发起一笔交易,大家共同记账,而且出块的顺序也是一个接着一个的,而 DAG 采用则是异步记账,因为每一笔新发起的交易都会根据它当前的前两笔交易验证,因此它就像谣言的传播速度一般,发散式病毒式的传播,它是一个可异步并行的计算机制,如果该 DAG 网络有足够多的人去使用,那么可以说它可以形成极高的吞吐量,其交易效率也可以达到商用的需求。另外 DAG 没有哈希碰撞来挖矿的机制,所以在发起交易的时候,DAG 技术可以实现更少的手续费甚至是 0 手续费,这样就解决了像比特币这类比较浪费能源的问题。

刚刚我们说了 DAG 的优点之后,那么 DAG 有什么缺陷吗?当然有的!

刚才我提到了如果说该 DAG 网络有足够多的人去使用,那么可以说它可以形成极高的吞吐量,那么相反如果对于基于 DAG 网络早期节点不足的情况来说,那么就会造成一定的交易验证延迟,因为因为每一笔交易的最终确认,都需要依赖后两个单元的验证才能完成确认,因此就会造成交易时间的不可控。它如果你如果去买一个东西,完成付款了,但是后面还需要等其他两个人付款对你进行确认,你才能完成最终的交易,因此对于的 DAG 运用比较适合一些高频的场景。解决方案有吗?有的,则需要涉及见证人机制或者超级节点机制,但是却在一定方面上影响了去中心化的程度,因此对当下来说,仍是一个尚在探索的方向。

因为 DAG 的运行是一个结构复杂的网状结构,他没有区块链具有一致性的账本信息,因为区块链是一个块接着一个块,环环相连。而整个 DAG 的结构属于分散结构的展开,并不断动态运行,因此倘若想要在 DAG 的结构上去运行去中心化应用和部署智能合约的话,是否涉及数据偏差是一个尚在考验的事情。还有就是关于「双花攻击」的问题,在 DAG 系统中依然需要值得注意,这是一个经济博弈论的利益权衡问题,当然也可以引用见证人机制或者超级节点机制,不过刚才也介绍了,这又影响了去中心化的程度。此外,在安全方面,由于 DAG 并没有像区块链已经经历了数十年的验证,所以在安全性方面也是需要一定的时间检验。

不可否认的是,DAG 技术的运用在交易速度和效率方面让我们看到了区块链的边界在被不断打破,同时我们还看到运用到 DAG 技术的物联网应用比如 IOTA 已经取得了很大的影响力和技术进步,而其他采用 DAG 技术的创业者和开发者也在不断推动 DAG 技术的完善,相信对于未来而言,这是一项十分值得期待的创新技术。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与 Web3Caff 立场无关。文章内的信息均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。