随着区块链生态的不断扩大,以太坊、比特币等 “传统” Layer1 公链正在面临愈发严峻的性能瓶颈考验。尽管 Layer2 扩容、分片技术、并行执行等方案可以在一定程度上缓解 TPS 不足的问题,但是始终还是无法从根源上解决这一问题。
事实上,在主流区块链架构快速演进的这些年里,始终有开发者在探索基于有向无环图(DAG)架构的系统被应用的可行性。其中已经落地的代表的项目有 IOTA、Sui 等等。尤其是在 2024 年底,基于 DAG 技术构建的模块化 Layer1 U2U Network 和智能合约平台 Waterfall Network 先后斩获千万美元融资,更是将 DAG 技术进一步推向大众视野。
那么,DAG 到底是什么呢?它与传统区块链相比有何特色?DAG 技术究竟能否解决当前区块链面临的 “三难困境” 呢?本份研报就将带着这些问题,深入解析 DAG 架构的核心理念、技术特色,以及该技术在不同项目中的应用。
作者:ShirleyLi,Web3Caff Research 研究员
封面:Photo by Milad Fakurian on Unsplash
字数:全文共计 14400+ 字
目录
- 背景:“传统” 区块链的困境
- DAG 简史
- DAG 与区块链的区别
- 比特币:UTXO + Merkle Tree
- 以太坊:账户模型 + MPT
- 区块链中的 DAG
- 小结
- DAG 在实际项目中的运用
- IOTA
- Hedera
- Kaspa(前身为 PHANTOM)
- BlockDAG
- Sui
- Waterfall Network
- Sonic Labs
- 小结
- DAG 赛道的发展前景及面临的挑战
- 要点结构图
- 参考文献
背景:“传统” 区块链的困境
一直以来,人们所熟悉的 “区块链” 是一种链式的数据结构(Block Chain),本质上,它是记录数据的去中心化分布式账本。在比特币、以太坊等 “传统” 区块链结构中,一定数量的交易会被包含进区块,而区块会按照时间顺序一个一个地进行串联。与此同时,网络又会通过共识机制不断生成新的区块。
然而,随着区块链生态的不断扩张,这种链式结构的性能瓶颈逐渐暴露出来。这是因为每一个区块的产生都会消耗一定的时间,而且每个区块也有相应的容量限制,因而,在需要满足商用目标的前提下,运行效率不足的问题就会严重制约链上应用的增长。这种运行效率的不足具体表现在网络吞吐能力有限、交易延迟高、交易手续费昂贵等多个方面。[1] 虽然开发者们一直在努力突破这种局限,但是区块链的 “三难问题 “ —— 去中心化、安全性和性能之间的动态平衡始终难以取舍。为此,开发者们将目光投向了 DAG 技术,试图从根源上重新定义 “区块链”。
DAG 简史
事实上,DAG(Directed Acyclic Graph 有向无环图)并不是一个新鲜的概念,而是早已存在于数学领域中。
1738 年,瑞士数学家 Leornhard Euler 以一种独特的方式解决了柯尼斯堡七桥(Seven Bridges of Königsberg)问题。简单来说,柯尼斯堡七桥问题的核心是如何一次性不重复地穿过城市内所有的七座桥。
有趣的是,Leornhard Euler 所提出的解决方案是 —— 证明一次性不重复地穿过所有七座桥是不可能的。
让我们来看下面这幅图,图中的区域被划分为了 A、B、C、D 四块土地。如果一块地到另一块地之间有两座桥,那么就可以在这两块地之间进行往返穿梭;而如果一块地到另一块地之间只有一座桥,那么就意味着只能过去不能返回。因此,通过观察不难发现,从 A 到 C 、从 A 到 D 都有两座桥连接,也就是说,从 A 到 C 到 D 再回到 A 是可以实现不重复往返的。但是从 B 到 C 以及从 B 到 D 都只有单桥来连接。这就意味着,从 B 到 C 或者 从 B 到 D,只能去,但是不能返回。[2] Leornhard Euler 就是通过这种方式证明了:桥与土地的奇偶数量关系着能否实现桥的一次性穿越。为了将这种证明思路应用到更多类似问题中,Leornhard Euler 将柯尼斯堡七桥的地图转化为了图形结构,也就是下图中的右半部分。