DAG:一个号称可以取代区块链的技术

你听说过DAG(有向无环图)吗?有人称它为下一代区块链技术,认为它能解决区块链的短板还能大规模应用。准确地说,区块链属于分布式账本技术,DAG也是一种分布式账本技术。

一些人认为DAG为全球性的去中心化解决方案奠定了技术基础,因此也有人称DAG为“区块链3.0”。有一些区块链项目也使用了DAG协议,DAG有什么特别之处呢?今天的万向区块链小课堂就给大家讲讲这个知识点。

为了更好地理解它与区块链的不同,让我们先来复习下区块链是如何工作的?

区块链是如何工作的?
区块链是一个账本。这个账本像其它数据库一样,包含用户间的交易信息。作为一个账本,区块链记录的信息类似于“张三在2020年7月1日下午5:30:23给李四转了10000元”,或者更精确地描述应该是“10000元在这个时间点从这个钱包地址转到了那个钱包地址”。区块链是透明的,因此每个人都能看到交易的历史记录,只是我们看不到交易的地址属于哪个用户。

网络中的所有计算机都是节点,每个节点都有一份这个账本的副本。节点必须就一个交易达成一致——如果大多数节点同意,则记录该交易。在以PoW为共识机制的链中(如比特币区块链),矿工成功计算出密码学谜题后,就能够添加一个块。有关此交易的信息被哈希加密后传递到下一个块,如果有人想更改记录,则必须相应地更改以前的记录。每个记录都依赖于前一个记录,以此形成一个链。每个块都有自己的哈希,它也依赖于前一个块哈希。

对公有链来说,去中心化至关重要,生态系统里的用户越多,网络越安全。

什么是DAG?
“DAG”中文译名为有向无环图,虽然它在区块链领域相对较新,但它是计算机科学和数学中相当常见的结构。从名字可以看出,”有向”指的是有方向,准确的说应该是同一个方向,”无环”则指够不成闭环。

在DAG中,没有区块的概念,它的组成单元是一笔笔的交易,每个单元记录的是单个用户的交易,这样就省去了打包出块的时间(也就是不需要挖矿)。验证手段则依赖于后一笔交易对前一笔交易的验证,换句话说,你要想进行一笔交易,就必须要验证前面的交易,具体验证几个交易,根据不同的规则来进行。不同于区块链的同步记账,DAG可以异步并发地写入很多交易。把同步记账提升为异步记账,被不少人认为可以解决传统区块链的高并发问题。

DAG技术具有以下特点:
1、交易速度快,DAG实现的局部处理和并行结算可以使得交易速度大幅度提升。

2、拓展性强,因为各个节点无需等待同步其他的节点的数据就可计算使得记账节点很容易答复延展,因此DAG很适用于物联网类项目。

3、作恶难度更大,相比于链式结构,在DAG中恶意修改的难度会大很多,因为DAG拥有着很多的出度和入度,假如要修改某一个节点,那么对应的出入度都要进行修改。

但是,DAG也有劣势:
1、交易时长不可控。DAG的验证规则是后面的交易验证前面的交易,这就很容易出现最后的交易迟迟无法被验证的情况,尤其是在整个网络发展的初期节点数量比较少的情况下,造成交易时长无法预测。

2、不支持强一致性。DAG异步记录机制在提高了扩展性的同时也带来了一致性的不可控问题。区块链是同步操作的验证机制,能够保证较高的一致性。但是DAG作为异步操作,它不存在一个全局的排序机制,在运行智能合约时,这就很可能会出现节点间所存储的数据在运行一段时间以后出现偏差的情况。

那么,DAG会取代区块链吗?
DAG技术并不新鲜,但是应用到去中心化账本领域却是近几年的事情,它没有像区块链一样经历过十余年的安全验证,这也阻碍了它的大规模部署。但DAG能够解决区块链诸如可扩展性的问题,不同的分布式账本技术都仍有不少发展空间,这更多取决于相应的应用场景更适合哪个技术。

你可能感兴趣的:(区块链)