区块链中的有向无环图(DAG)
什么是 DAG?它与区块链有何不同?
有向无环图(Directed Acyclic Graph,DAG) 是一种由有向边连接顶点(节点)且不存在回路的图结构。在分布式账本中,基于 DAG 的账本不再将交易或事件排成一条单链,而是组织成类似网状的图。与传统区块链每个新区块只引用一个父块(形成线性结构)不同,DAG 中的节点可以同时引用多个先前的交易或区块,因此可以并行确认大量交易,而无需按时间顺序逐笔排队进入区块。
如果说区块链像一条由多个交易组成的区块链条,那么 DAG 账本更像是一棵树或一张交易网络。在 DAG 中,新交易可以连接并验证一个或多个较早的交易,而不用等待被打包进下一个区块。这种结构差异带来了几个关键特点:
- 并行验证: 在区块链中,矿工/验证者一次只添加一个区块,因此交易需要按区块批量确认。DAG 中可以同时添加多笔交易(或“小区块”),它们指向图的不同部分,实现并行化,无需等待长链逐块增长。
- 没有全局线性顺序: 区块链天然形成交易的全序(每个区块在单一序列中都有确定位置)。DAG 账本则形成部分序。网络中不存在唯一的“最新区块”,而是同时存在多个图尾(tips),需要通过共识协议最终确定交易的顺序和有效性。
- 交易确认方式不同: 区块链中,交易被包含在区块内并在区块链上累积确认;DAG 中,新交易通过引用旧交易来帮助确认它们。例如 IOTA 的 Tangle 要求每笔交易批准两个先前的交易,让所有参与者互相验证。这样消除了区块链“交易发起者”和“验证者”之间的严格界限,交易发送者也要承担部分验证工作。
值得注意的是,区块链其实是 DAG 的特例——被限制成一条线的 DAG。两者同属分布式账本技术(DLT),都追求不可篡改和去中心化。但 DAG 账本结构为“无块”或“多父节点”,在实践中具有不同特性。传统区块链(如比特币、以太坊)采用顺序区块,并且常丢弃分叉;DAG 账本则尽量保留所有不冲突的交易并安排顺序。这一根本差异奠定了性能和设计上的诸多不同。
技术对比:DAG vs. 区块链
- 数据结构: 区块链将数据存放在按顺序连接的区块中,每个区块只指向一个父块。DAG 账本使用图结构,每个节点代表一笔交易或事件块,可以链接多个先前节点。由于图中没有环,沿着边回溯不会回到原点,从而能够对交易进行拓扑排序,即确保引用关系的先后顺序。简而言之:区块链是一维链条,DAG 是多维图。
- 吞吐与并发: 结构不同导致吞吐能力差异。区块链即使在理想情况下也需要逐块增加(往往要等待新区块验证并在全网传播后才能继续),这限制了 TPS。例如比特币约 5–7 TPS,以太坊 PoW 时代约 15–30 TPS。DAG 可并行接入大量交易/块,多个分支可以同时增长并稍后合并,吞吐可提升到数千 TPS,接近甚至超过传统支付网络。
- 交易验证流程: 区块链中,交易进入 mempool,矿工/验证者打包成新区块,其他节点再校验。DAG 的验证更连续、更分散:新交易通过引用(确认)旧交易来执行验证动作。IOTA 的交易会校验两个先前交易并执行小规模 PoW,相当于对它们“投票”。Nano 的 block-lattice 将每个账户的交易形成独立链,通过代表节点投票验证。结果是 DAG 分摊了验证工作,多个参与者可并行验证不同交易,而非单个区块生产者一次性验证多个交易。
- 共识机制: 区块链和 DAG 都需要全网就账本状态达成一致(确认哪些交易以及顺序)。区块链通常依靠 PoW/PoS 产出新区块,并遵循“最长(最重)链”规则。DAG 没有单一链,因而共识更复杂。不同项目采用不同方案:如 Hedera Hashgraph 的 gossip + 虚拟投票,IOTA 早期的 MCMC tip 选择等。一般来说,DAG 可在吞吐上更快,但必须谨慎设计以处理并发交易冲突(如双花)。
- 分叉处理: 区块链中同时出现两个区块会导致分叉,最终一条链胜出,另一条被丢弃,造成资源浪费。DAG 的理念是接受分叉作为额外分支。分叉节点都纳入图中,由共识算法决定哪些交易被最终确认(冲突交易如何解决),而无需丢弃整个分支。例如 Conflux 的 Tree-Graph(PoW DAG)试图保留所有块并进行排序,从而利用所有计算成果。
总而言之,区块链 提供的是结构简单、顺序明确的块级验证;DAG 提供的是更复杂但支持异步并行处理的图结构。DAG 账本需要额外共识逻辑来管理复杂性,但通过充分利用网络能力,有望实现显著更高的吞吐和效率。
DAG 区块链系统的优势
DAG 架构旨在解决传统区块链在扩展性、速度和成本方面的瓶颈,主要优势包括:
- 高扩展性与高吞吐: DAG 网络能够 并行处理大量交易,TPS 可随网络活动水平提升。部分协议已展示上千 TPS 的能力。Hedera Hashgraph 基础层可处理 1 万+ TPS,3–5 秒内完成最终确认,远快于 PoW 区块链。Fantom 等 DAG 智能合约平台在常规负载下可实现 1–2 秒内 准最终性,适合 IoT 微支付或实时数据流等高频场景。
- 低成本甚至无手续费: 多数 DAG 账本费用极低甚至 零手续费。由于不依赖矿工奖励或高额手续费,IOTA、Nano 等都无需强制收费——这对微支付至关重要。即使存在费用(如 Hedera、Fantom),也 非常低且可预测,没有区块空间竞价,Hedera 每笔交易约 0.0001 美元。此外,DAG 保留所有有效交易而不丢弃分叉,有助于降低资源浪费。
- 快速确认与低延迟: DAG 不需要等待交易被打包进全球区块,因此确认更快。许多系统实现了快速最终性,如 Hedera Hashgraph 的 ABFT 在几秒内完成 100% 确认,Nano 的代表投票通常 小于 1 秒。这极大改善用户体验,适合支付、互动应用等实时场景。
- 能源效率高: DAG 通常不需要密集的 PoW 挖矿,能耗极低。即便与 PoS 链相比,有些 DAG 每笔交易耗能更少。Hedera 一笔交 易耗电约 0.0001 kWh,远低于比特币(数百 kWh)及不少 PoS 链。DAG 排除了浪费性的计算,并尽量不丢弃交易,整体效率高,非常符合可持续发展需求。
- 无挖矿、验证角色更民主: 许多 DAG 模型不再区分矿工和普通用户。以 IOTA 为例,用户发交易时需要验证两笔旧交易,使验证工作 向网络边缘分散。无需昂贵硬件或大量质押资本就能参与共识(尽管一些 DAG 仍引入验证者或协调者)。
- 应对高峰流量能力强: 传统区块链在高负载下 mempool 堵塞、手续费飙升;DAG 由于可并行扩展多个分支,能更平稳地吸收流量高峰。随着交易激增,图中出现更多并行分支,系统可并行处理,吞吐硬上限较高,队列积压和费用上涨幅度较小,适用于 IoT 设备同时发送数据、热点 DApp 活动等场景。
综上,DAG 账本目标是实现更快、更便宜、更可扩展的交易处理,面向微支付、IoT、高频交易等传统区块链难以承受的场景。但这些优势也伴随新的权衡与挑战,后文详述。
基于 DAG 的共识机制
由于没有天然线性链,DAG 需要创新的 共识机制 来确认交易并维持全网一致。一些典型做法:
- IOTA Tangle:tip 选择与加权投票。 IOTA 的 Tangle 是为 IoT 设计的交易 DAG。没有矿工,每笔交易须做少量 PoW 并 批准两个先前交易。tip(未确认交易)的选择通常通过 马尔可夫链蒙特卡洛(MCMC) 算法实现,倾向于最重子图以防止分裂。最初, 交易被后续交易间接批准的数量越多,可信度越高。为保护初期网络,IOTA 依赖一个中央 协调器 节点发出里程碑交易以最终确认。这个被批评为中心化的机制正在 “Coordicide”(IOTA 2.0)升级中移除。IOTA 2.0 引入 无领导的类 Nakamoto 共识,即节点在连接新区块时对其引用的交易隐式投票,质押选出的验证者委员会发布 验证块。交易累积足够的加权批准(approval weight)后即确认。
- Hedera Hashgraph:gossip 与虚拟投票(aBFT)。 Hedera 使用事件 DAG 和 异步拜占庭容错(aBFT) 算法。核心理念是 “gossip about gossip”:节点不仅传播交易,还传播其所知的 gossip 历史,形成 Hashgraph(事件 DAG),包含谁何时听到什么信息。基于这个图,Hedera 实施虚拟投票:节点无需发送真实投票消息,而是通过分析图结构在本地模拟投票过程。这会产生公平且最终的交易顺序(按全网接收时间的中位数排序)。共识无领导者,可容忍最多 1/3 的恶意节点。现实中,Hedera 由多达 39 家企业组成的理事会运行节点,属许可制但地理分布广,几秒内即可完成最终确认。
- Fantom Lachesis:无领导 PoS aBFT。 Fantom 是智能合约平台,采用 Lachesis DAG 共识,属于 PoS aBFT。每个验证者将收到的交易打包成 事件块,加入本地 DAG,并异步传播。验证者在超多数节点看到某个事件后,将其标记为根事件,然后 Lachesis 对这些事件排序并提交到最终的 Opera 链(线性区块链)。也就是说,DAG 用于快速异步共识,最后输出仍是兼容 EVM 的线性历史,实现 1–2 秒 的快速最终性,可达数千 TPS。
- Nano 的开 放代表投票(ORV)。 Nano 是轻量支付币,使用 block-lattice DAG。每个账户有自己的链,只有账户所有者可以更新。所有账户链组成 DAG,账户之间的交易需要发送块和接收块。共识通过 开放代表投票(ORV) 完成:用户将投票权(余额权重)委托给代表节点,代表对交易冲突进行投票,当投票权超过阈值(如 67%)即视为确认。交易独立结算,通常不到 1 秒完成。Nano 无挖矿、无手续费,PoW 仅用于防 spam。主要面向即时付款、微支付场景。
- 其他共识:
- Avalanche 共识(X-Chain): 验证者不断随机抽样互相投票,决定偏好的交易或块。Avalanche 的 X-Chain 是 UTXO DAG,通过这种抽样方法实现共识。确认约 1 秒,子网可达 4,500 TPS。
- Conflux Tree-Graph: 扩展自比特币 PoW,块可引用多个已知块,不丢弃分叉。通过保留所有块并按最重子树排序,理论 TPS 可达 3–6k。
- 学术方案: 例如 SPECTRE、PHANTOM(面向高吞吐和快速确认的 blockDAG)、Aleph Zero(DAG aBFT)、Parallel Chains/Prism、Sui 的 Narwhal & Bullshark 等。
不同项目根据需求调整共识(是否免手续费、是否支持智能合约、是否追求互操作),共同点是在避免单一串行瓶颈,让大量并发活动通过算法(gossip、投票、采样等)有序化,而非限制在一个区块生产者上。