Synonyms:
有向无环图, Directed Acyclic Graph
不同于传统区块链的链式结构,有向无环图(Directed Acyclic Graph, 简称 DAG)是一个有方向、却没有形成闭环的网络图状结构,可用于记录交易或数据关系。根据字面理解,它是一个有方向,但却没有形成闭环的网络图状结构,也就是在 DAG 里没有区块链里 “区块” 的概念,而是一种叫 “单元” 的机制,当你通过 DAG 网络去发起一笔交易的时候,这笔最新交易的单元会把前面两个单元的哈希值放到你这笔交易的单元内,完成对上面两笔单元交易的验证并广播全网,以此类推,每一笔新的单元都需要把之前的父单元,以及父单元的父单元写入到最新的交易单元中,以此确认交易的确认,同时你所发起的交易也需要后面两笔交易来确认,这样就可以保证整个基于 DAG 的网络不被修改,因此你就会发现基于 DAG 的技术具有很强的难以篡改性,一旦你想要修改其中一个单元,那么基本整个 DAG 体系的结构都要修改,因此篡改难度可想而知。
此外,因为区块链采用的是同步记账,也就是我发起一笔交易,大家共同记账,而且出块的顺序也是一个接着一个的,而 DAG 采用则是异步记账,因为每一笔新发起的交易都会根据它当前的前两笔交易验证,因此它就像谣言的传播速度一般,发散式病毒式的传播,它是一个可异步并行的计算机制,如果该 DAG 网络有足够多的人去使用,那么可以说它可以形成极高的吞吐量,其交易效率也可以达到商用的需求。另外 DAG 没有哈希碰撞来挖矿的机制,所以在发起交易的时候,DAG 技术可以实现更少的手续费甚至是 0 手续费,这样就解决了像比特币这类比较浪费能源的问题。
当前,包括 IOTA、Sui、Sonic Labs 等在内的很多区块链都开始采用这一结构来试图突破传统区块链的性能限制。