当前位置:首页 > 区块链新闻 > 正文

分布式账本中的数据结构:区块链和有向无环图(DAG)

来源: 互联网时间:2019-03-07 22:01:41

所有区块链都是分布式分类账,但并非所有分布式账本都是区块链。虽然我们倾向于认为区块链是构建分布式应用程序的技术,但事实证明它不是唯一的一种。此外,随着区块链的缺陷日益突出,其他技术也正在受到人们的关注。

肖恩·波洛克(Sean Pollock)在《UnsplashIn 2018》(UnsplashIn 2018)中写道,区块链已经成为一个真正的流行词,我们似乎到处都能听到它。几乎每一个行业和经济部门都在尝试区块链,寻找适合其应用的好处。我们看到基于区块链的能源公司、金融平台、政府服务、医疗机构——以及新的用例每月都在出现。

然而,他们真正需要的是一个不一定基于区块链的分布式应用程序。如果我们深入观察,就会发现分布式应用程序世界的基础是分布式分类账。这是核心技术,区块链只是它的实现之一。

“分布式分类帐”是在由多个节点组成的网络中存储和处理数据方法的总称。这种网络的主要概念是,一方面,没有控制数据处理的中央实体,另一方面,在固有的不可信环境中建立信任。组织分布式分类账有几种方法,区块链只是其中之一。

其他类型的分布式分类账技术(简称DLT)最近相当热门,因为区块链的缺点已经变得很明显。区块链的主要问题是扩展性差,无法处理大量的事务,且事务费高。今天,企业和开发人员都在研究实现比区块链更有效的分布式分类账。

除了区块链,分布式分类账还可以以有向无环图(DAG)的形式存在。DAG已经存在了几个世纪(例如,可以追溯到1736年的图论),但是从最近开始,它们的特性成为了为各种商业目的形成分布式应用程序的可能性而进行深入研究的主题。这似乎是一个巨大的潜力。

我们来看看区块链和DAG有什么不同, DAG是否会成为区块链的竞争对手。

区块链和DAG -基本区别

区块链和DAG的主要区别在于它们的基本结构以及添加和批准新事务的方式。

区块链实际上是一个线性结构,从所谓的“起源区块”开始,一直延续到链上的每一个新区块。每个块包含许多事务,并通过哈希值引用到它前面的块。这样,链中的所有块都可以追溯到第一个块,并且不可能修改块中的数据。

同时,正如我们提到的,区块链并不是唯一一种分布式分类账。从最近开始,我们看到人们对DAG越来越感兴趣。它是根据不同的原则构建的,似乎解决了区块链问题。

与区块链不同,DAG没有线性结构。相反,它就像一棵有多根树枝的树。DAG中的数据是根据两个基本规则组织的——所有事务流都应该在相同的方向上,任何元素都不应该引用自己,也就是说,不应该引用自己的父元素。

共识算法

区块链的一个基本属性是它达成共识意见的方式。在一个分散的结构中,没有一个单一的中央实体对处理事务做出决策。这种决策是由网络中所有节点的共识同意做出的,这些节点都有称为共识算法的特殊机制。选择特定的共识算法对网络速度、吞吐量、可伸缩性和事务成本都有很大影响。

目前最流行的区块链——比特币(Bitcoin)和以太坊(Ethereum)——使用所谓的工作证明算法添加了新的区块,这种算法人为地慢、耗电大得离谱,并阻碍了网络的有效可扩展性。一次只能添加一个块,这会进一步减慢网络速度。其他算法,如权益证明,显示出更高的效率,然而,某些问题仍然存在。

反过来,DAG不需要矿商或其他负责在区块链中添加区块的审批实体。相反,执行事务的任何用户也需要成为其他事务的审批人。因此,网络不需要额外的事务处理成本,也更省时。

此外,与区块链相比,DAG面临的集中化风险更小。区块链中使用的一些协商共识算法提供了协商共识权力集中在单个实体或组手中的可能性。这样,集团就接管了整个网络的管理。DAG通过异步事务验证机制防止了这种情况的发生,在异步事务验证机制中,用户需要在自己的事务被批准之前批准另外两个事务。

可伸缩性

因为DAG没有区块链意义上的“块”,所以它们的可伸缩性要好得多。当同时出现大量事务时,区块链网络的吞吐量会显著降低。每个块都有一个固定的大小,并被引用到它前面的块。这就造成了一个严重的瓶颈,使得每单位时间只能处理有限数量的交易(比特币每秒7笔交易,以太坊每秒20笔交易)。

DAG对每秒可以处理的事务数量没有限制。由于DAG不对事务进行分组,而是以线性结构进行排列,因此它的吞吐量可能更高。唯一可以减慢事务处理的是两个对等点之间的带宽。

交易费用

交易费用是比特币区块链用户的一大痛苦。这些费用由比特币开采者决定,这些开采者批准交易,并将交易分成区块,添加到链中。随着交易数量的增长,交易费用也在增长,使得交易变得极其昂贵,小型交易也变得不切实际。

DAG不需要采矿,因此,对矿工没有奖励。每个用户也是一个审批者,他们的奖励是对他们自己事务的批准。此外,由于没有开采,DAG不像区块链那么耗电。因此,在DAG中没有交易费用,这使得它适合处理任何大小的交易,包括小型交易。

那么,区块链应该开始担心了吗?

似乎已经找到了区块链的完美替代品。遗憾的是,尽管DAG有很多优点,但它仍然不能被认为是构建分布式应用程序的可靠结构。它也有它的问题——例如,它的共识算法仍然有许多需要改进的地方。理论上,一个用户批准另外两个事务,任何最终生成DAG网络中所有事务的1/3的实体都可以获得控制权。

然而,人们正在认识到DAG的潜力。Vitalik Buterin赞扬了DAG的概念,承认它们可以减少网络延迟:“……它们确实有一些价值,特别是在减少延迟方面”

如果你正在等待一个问题的答案“哪个更好——区块链还是DAG?”,而事实是,这个答案没有能够准确回答,因为两者之间存在着某种联系。我们应该考虑这两个平台的优点,并在构建分布式应用程序时最大限度地利用它们。

虽然几乎所有行业都有数百个区块链项目,但DAG还没有那么受欢迎。也许,有几个使用DAG的项目是众所周知的,但是,它们的成功清楚地表明该技术值得探索。

使用DAG最著名的项目是IOTA,它既包括加密生态系统,也包括加密货币。IOTA被设计为创建物联网基础设施的平台。DAG结构为创建多连接设备网络提供了一个有效的环境,这是迈向机器经济的一步。

虽然IOTA不能被称为一个纯粹的基于DAG的网络,因为它也使用了工作量证明的概念,但它与我们所知道的区块链有很大的不同。

另一个经常被提到的DAG项目是Byteball,它是一个具有本地智能合约支持的加密货币平台。Byteball是完全基于DAG的——没有块,没有矿商,事务由其他用户验证。Byteball确实有交易费,但它是按用于验证交易的资源的比例计算的。

至于分布式应用程序的未来,我们可以很有把握地说,这两种结构都将找到它们的市场份额。虽然DAG还远未被普遍采用,但已经显示出了它的优势,区块链正在积极发展,新的算法和功能正在不断测试中。

如果您对区块链和加密技术感兴趣,请登录我的博客,在这里我们讨论了从加密货币领域最热门的话题以及该领域的最新发展。我将很高兴与你分享我所知道的!

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。