DAG(有向无环图)是不同于主流区块链的一种分布式账本技术,把同步记账提升为异步记账,被不少人认为可以解决传统区块链的高并发问题,是区块链从容量到速度的一次革新。
D
A
G
01/// 什么是DAG
Directed Acyclic Graph,中文意为「有向无环图」
DAG原本是计算机领域一种常用数据结构,因为独特的拓扑结构所带来的优异特性,经常被用于处理动态规划、导航中寻求最短路径、数据压缩等多种算法场景。
DAG模式说白了就是多条链跟随主链,这些链之间大方向相同且不存在环路。
02/// DAG技术与区块链有什么不同
在DAG中,没有区块的概念,他的组成单元是一笔笔的交易,每个单元记录的是单个用户的交易,这样就省去了打包出块的时间。
验证手段则依赖于后一笔交易对前一笔交易的验证,换句话说,你要想进行一笔交易,就必须要验证前面的交易,具体验证几个交易,根据不同的规则来进行。
这种验证手段,使得DAG可以异步并发的写入很多交易,并最终构成一种拓扑的树状结构,能够极大地提高扩展性。
传统区块链和DAG的区别,简单的说:
a.BlockvsTX
区块链组成单元是Block(区块),DAG组成单元是TX(交易)。
b.单线程vs多线程
区块链是由Block区块组成的单链,只能按出块时间同步依次写入,好像单核单线程CPU;DAG是由交易单元组成的网络,可以异步并发写入交易,好像多核多线程CPU;
c.区块记录vs单独记录
区块链每个区块单元记录多个用户的多笔交易,DAG每个单元记录单个用户交易。区块链所有交易记录记在同一个区块中,DAG每笔交易单独记录在每笔交易中。
d.矿工
区块链需要矿工,DAG不需要矿工。
03/// DAG发展现状
DAG系当前的代表项目,最知名的无疑是DAG三架马车---- IOTA、字节雪球、Nano(原来的Raiblocks),作为最新的分布式账本主力竞争技术,DAG开始引发大量关注始于IOTA在2017年下半年市值冲入币值排行榜第四名,之后基于DAG技术的新项目不断进入人们的视野。
DAG技术正快速的发展与革新,除了三驾马车之外,新出现的DAG项目在共识算法、去中心化机制、速度与并发上,都取得了更新的进展,诸如HashGraph/SPECTRE/Hycon/Algorand/Trustnote等等都是备受关注的典型项目。
从理论上看,DAG技术在加密货币市场有着明显优势;但其仍处于发展阶段,无论是技术还是市场方面,都存在着很大的不确定性。
04/// DAG缺陷性
1 交易时长不可控
DAG的验证规则是后面的交易验证前面的交易,这就很容易出现最后的交易迟迟无法被验证的情况,尤其是在整个网络发展的初期节点数量比较少的情况下,造成交易时长无法预测。当然,解决方法也是有的,但是不管是见证人还是其他超级节点机制,都在一定程度上违背了去中心化。
2 不支持强一致性
DAG作为一种谣言传播算法,其异步通讯机制在提高了扩展性的同时也带来了一致性的不可控问题。区块链是同步操作的验证机制,能够保证较高的一致性。但是DAG作为异步操作,它不存在一个全局的排序机制,在运行智能合约时,这就很可能会出现节点间所存储的数据在运行一段时间以后出现偏差的情况。
3 安全性还没有得到大规模的验证
DAG技术并不新鲜,但是应用到去中心化账本领域确是近几年的事情。他没有像比特币那般经历过长达10年的安全验证。这是目前大规模的部署DAPP的最大障碍。
作为一个很年轻的数据结构,DAG安全性和一致性还有待更多验证和认可;但不可否认,DAG技术的优势和创新速度已经崭露头角,速度快,吞吐量高,越来越多基于DAG技术的创新项目和DAPP也在源源不断的涌现,期待在不久的将来,听到更多关于DAG区块链的好消息。
领取专属 10元无门槛券
私享最新 技术干货