0

0

详解“有向无环图”(DAG)技术,它和区块链有何不同?

P粉602998670

P粉602998670

发布时间:2025-11-26 17:31:38

|

273人浏览过

|

来源于php中文网

原创

DAG通过有向无环图结构实现数据单元的直接连接,无需区块打包,采用边交易边验证机制,以拓扑排序和累计认可度达成共识,支持高并发与线性扩展,相较区块链的链式结构和集中质押,具备更高吞吐量与可扩展性。

详解“有向无环图”(dag)技术,它和区块链有何不同? - php中文网

有向无环图(DAG)是一种数据结构,其在分布式账本技术中展现出与传统区块链不同的特性。

为了方便新手快速上手币圈交易并实时查看市场数据,可通过主流交易所币安(Binance)欧易OKX注册账户并使用官方APP,可实时查看交易深度、挂单量及资金流向,帮助判断买入或卖出时机。

币安注册链接与下载地址:

欧易OKX注册链接与下载地址:

安装过程中,系统可能会提示“允许安装来自此来源的应用”。这是正常安全提示,建议点击“允许”或在“设置”中开启相应权限后继续安装。

一、理解DAG的基本结构

DAG,即Directed Acyclic Graph(有向无环图),是由顶点和有向边构成的数学模型,其核心在于“有向”和“无环”。这意味着数据单元之间的连接具有明确的方向,并且不可能从一个起点出发,沿着这些方向性的路径最终循环回到该起点。这种结构天然支持拓扑排序,可以对所有元素进行线性化排列。

1、每个新加入的数据单元(通常是一笔交易)必须指向一个或多个已存在的、未被充分确认的早期单元,这构成了有向边。

2、系统通过算法确保不会形成任何闭环,从而维持“无环”的特性,这是保证数据一致性与可追溯性的基础。

关键区别:DAG没有“区块”的概念,其基本单元是单个交易本身

二、分析DAG与区块链的数据组织方式

在数据如何被链接和存储上,两者采用了根本不同的方法。区块链采用严格的链式结构,所有交易被打包进固定大小的区块中,每个新区块只引用其前一个区块,形成一条单一、线性的主链。而DAG则构建了一个网状结构,允许并行地添加新的交易单元。

1、区块链网络中,矿工将多笔交易收集、打包成一个区块,然后通过工作量证明等机制竞争记账权。

2、在DAG网络中,用户发起一笔交易时,必须用自己的计算力去验证之前的一笔或多笔交易,这个过程取代了传统的质押。

关键区别:区块链是“先打包后验证”,DAG是“边交易边验证”

三、比较两者的共识机制实现

达成全网一致是两种技术的核心挑战。区块链通常依赖于链上的累计工作量(如最长链原则)或权益来决定权威历史。DAG则利用其图结构的特性,通过交易间的直接或间接验证关系来实现共识,权重较高的子图会被认为是有效的部分。

1、在比特币等区块链中,节点总是选择累积了最多工作量证明的那条链作为有效链。

2、在IOTA的Tangle等DAG系统中,一笔交易的有效性取决于有多少其他后续交易直接或间接地认可了它,认可度越高,权重越大。

关键区别:区块链共识基于“链”的长度或权重,DAG共识基于“图”中交易的累计认可度

四、评估性能与扩展性差异

由于其底层架构的不同,DAG在理论上提供了比传统区块链更优越的可扩展性。随着网络中参与者和交易数量的增加,DAG网络的处理能力可以随之增长,因为每个新用户都在为网络贡献验证算力。

1、区块链的吞吐量受限于区块大小和出块间隔,例如比特币每秒只能处理几笔交易。

2、DAG允许交易异步并发写入,避免了中心化的打包环节,因此能够支持极高的理论TPS(每秒交易数)。

关键区别:区块链存在固定的性能瓶颈,DAG的性能可随网络规模线性扩展

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

323

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

231

2023.10.07

treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

534

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

17

2025.12.22

深入理解算法:高效算法与数据结构专题
深入理解算法:高效算法与数据结构专题

本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

13

2026.01.06

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

400

2023.08.14

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

1

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

1

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 1.9万人学习

go语言基础与基本函数
go语言基础与基本函数

共17课时 | 3.1万人学习

Css3入门视频教程
Css3入门视频教程

共21课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号