本文主要是介绍学习区块链(十二)--DAG是真正的区块链3.0?别急!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先,在我花了大量的时间来阅读DAG的相关文章和资料后,我仍然不敢确定我理解的DAG是正确的,我试图用最简单的话来描述DAG(有向无环图)以及它和区块链的区别。
首先了解下数据结构中的有向无环图是什么?在图论中,图分为有向图和无向图两大类,在无向图中进一步进行约束形成了DAG(有向无环图),所谓无环是指它是由集合的顶点和有向边构成,每条边连接一个顶点到另一个,这样,假如顶点A开始,沿着有序的边,最终循环回再次到A是不可能的,其实图是树的一种泛化,真正在用的时候一般会通过深度优先或者广度优先规则把图拆成“森林”就是多颗“树”。
区别于大家熟知的比特币采用的为链式结构,而区块链的pow共识机制需要竞争打包区块的权利所耗费大量的能源不说,导致效率也更加缓慢。
那么DAG中到底怎么解决这个问题呢?
每个新加入的单元,不仅仅只加入长链里的一个区块,而是加入到之前的所有区块。假设当你发布新交易时,前面有两个有效区块,那么你的区块会主动同时链接到前面两个之中,DAG 中的每个新单元,验证并确认其父辈单元,父辈单元的父辈单元,慢慢可达创世单元,并将其父辈单元的哈希包含到自己的单元里面。随着时间递增,所有交易的区块
这篇关于学习区块链(十二)--DAG是真正的区块链3.0?别急!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!