有向无环图(DAG):可能是全新的方式解决去中心化问题

 2023-09-21 21:48:03发布 2023-09-21 21:48:13更新

有向无环图 (Directed Acyclic Graph,DAG) 是加密货币和区块链领域一个常被讨论的新概念,目的是通过支持免费且快速的交易,以一种全新的方式解决去中心化问题。

有向无环图(DAG)的出现

当提到加密货币,我们脑海中会立刻浮现区块链或“分布式账本技术(DLT)”等概念。自比特币问世以来,市场上出现了成千上万种加密货币,大多数的网络架构基础大同小异。用户通过这些数据结构即可转移价值或与去中心化应用程序交互。

在区块链当中,新区块会定期添加到不断增长的链上。每个区块都以某种加密链接(确切地说,即哈希值)连接到上一个区块。每个区块中都是用户已发布的最新交易。

但是,从发布交易到纳入区块,通常中间有一个等待期,就像在车站等待火车一样。根据车厢大小(区块大小)和候车人数(待处理的交易),乘客不见得能搭上下一班车,甚至再下一班也不一定能赶上。等待交易确认的时间从几秒到几个小时不等。

对许多人而言,这很划算。因为这种方式安全性非常高,并且无需依赖中心化协调机构。还有些人则认为区块链技术终究会被淘汰。

反对者认为,从长远来看,可扩展性问题将阻碍区块链技术大规模应用推广。

支持者则坚信,未来的加密货币支付网络会搭建在完全不同的架构,即有向无环图(DAG)之上。

什么是有向无环图

从概念上来说,有向无环图类似上图所示,由顶点(球体)和边(连线)组成。

二者均有指向性,都朝向一个方向(如箭头所示),而且都无环,即没有循环,顶点不会回到最初起点,也就是说如果我们从一个点开始,沿着图形走,无法返回到同一起点。

有向无环图(DAG)

有向无环图(DAG)

有向无环图如何运作

基于有向无环图的加密货币,结构中每个顶点都代表一笔交易。其中不涉及区块概念,也没有扩展数据库所需的挖矿。因此,交易不会集中纳入到区块中,而是构建在另一笔交易之上。

节点提交交易时,仍会存在少量工作量证明操作,这样可确保网络不会受到垃圾信息干扰,同时还验证了之前的交易。

要想添加新交易,必须建立在此前的交易之上。假设Alice创建一笔新交易。该交易要想获得确认,必须引用之前的交易,这有点类似于比特币中一个区块对前一个区块的引用,只不过这里必须引用多笔交易。

在某些系统中,算法会选择新交易必须建立在哪些交易(或“末端”)之上。末端的累积权重越高,越容易被选中。累积权重能够衡量通往末端的路径中的确认数量。

Alice即将创建在上面的交易未经确认。但是,这些交易一经Alice引用,就会获得确认。Alice现在的交易尚未确认,因此,其他人必须在该交易被接受之前,在上面创建交易。

用户更愿意确认权重“较高”的交易,这样系统才能不断发展。否则,用户就会毫无顾忌地在旧交易上持续创建交易。

DAG防止双花问题

区块链能轻易防止双花问题的发生。同一笔资金不能在一个区块中使用两次,节点能轻易检测出此类尝试,并拒绝包含冲突交易的所有区块。矿工生产区块的成本非常昂贵,因此机制激励他们公平竞争。

有向无环图同样能够防止双花问题,机制类似,但没有矿工参与。节点在确认较旧的交易时,会评估追溯到有向无环图第一笔交易的整条路径,以确保发送方余额充足。路径可能会有很多条,但只需验证一条即可。

如果用户把交易建立在无效路径上,会导致自己的交易被忽略。或许这些用户的交易有效,但由于上一个交易无效,因此没人愿意去扩展这条路径。

乍看之下似乎不太直观,可不能存在一种情况,多种不同的分支之间根本就不知道彼此的存在呢?那么,会不会用户在不同的分支上花销同一笔资金?

DAG

DAG防止双花问题

确实有这种可能。但是通过选择算法给末端的累积权重加码,这个问题就能迎刃而解。也就是说,长此以往,某个分支会比其他分支更繁荣。较弱的分支遭到遗弃,网络会在权重最高的分支持续发展壮大。

与区块链的情况相同,这种网络也没有绝对确认,我们永远无法完全确定交易是否会遭遇逆转。虽然可能性极低,但从理论上讲,比特币或以太坊的区块可以“撤销”,导致其中所有的交易逆转。

交易后添加的区块越多,这笔交易的安全性就越让人放心。这就是我们建议用户在投入资金前,先等待六次确认的原因。

在诸如IOTA缠结之类的有向无环图中,有一个概念叫做“确认置信度”。选择算法会运行100次,计算选取的末端中直接或间接批准的交易次数。百分比越高,交易保持“结算”状态的置信度就越大。

这样看起来似乎会导致用户体验变差。但其实并不会。如果Alice向Bob发送10枚MagicDAGToken,她不必担心是否选择了图表中的正确末端,因为她的钱包会在后台执行以下操作:

  • 选择权重大的末端(请记住,就是那些累积确认信息最多的末端)。
  • 沿着路径追溯回以前的交易,以确保末端有足够余额进行支付。
  • 达到以上要求,交易就会添加到有向无环图,创建的交易得以确认。

在Alice看来,这就是常规的加密货币运作流程。她输入Bob的地址和希望支付的金额,然后按下发送。以上列表就是每位参与者创建交易时,都会运行的工作量证明。

DAG与区块链的区别

从根本上说,DAG 和区块链是两个不同的概念,但二者都属于分布式账本技术,以下是二者的区别。

结构

区块链的网络结构由通过区块链互相连接的节点组成,时间顺序不可更改。此外,交易被打包成块并进行验证和存储。当新的交易发生时,它们会被添加到一个区块中并与前一个区块连接以进行验证。

DAG 采取拓扑排序,其中每个节点代表一个交易。节点链用于引用之前的交易并防止双花。树状结构可以有多个路径,但新交易只需要追踪一个路径就能得到验证。

共识

基于区块链的分布式账本技术在很大程度上依赖于工作量证明。它需要参与节点进行挖矿(一种会消耗大量算力和资源的行为)。参与的矿工通过验证交易获得奖励。

DAG 的工作方式是分别验证每笔交易,它用之前的交易作为验证依据,验证者和矿工均参与其中。交易基本是免费的。

有向无环图的优缺点

优点

速度

没有出块时间限制,任何人都可以随时发布和处理交易。只要先确认较早交易,用户就不受提交交易次数限制。

无需挖矿

有向无环图不使用常规工作量证明(PoW)共识算法。跟加密货币依赖挖矿维护区块链网络相比,有向无环图的碳足迹只是一个零头。

没有交易费用

因为没有矿工,用户无需为发布交易支付费用,但有时需对特定类型的节点支付少量费用。低廉费用(免费更好)对小额支付用户来说极具吸引力,因为高昂的网络费用会让他们白忙一场。

没有可扩展性问题

与传统区块链网络相比,有向无环图不受出块时间限制,每秒交易的处理数量要多很多。许多支持者坚信,这会让有向无环图在各类机器交互的物联网(IoT)用例中更具价值。

缺点

并非完全去中心化

以有向无环图为基础的协议具有各种中心化特性。有些人认为,这是启动网络的短期解决方案,但是有向无环图是否能在没有第三方干预的情况下蓬勃发展,仍需拭目以待。如果没有成功,就相当于网络向攻击向量敞开了大门,最终会严重受创。

未经大规模测试

尽管基于有向无环图的加密货币已经问世几年,但要广泛普及还需假以时日。因此,未来用户在使用该系统时会享有怎样的激励机制,还很难预测。

有向无环图的用例

Iota Tangle

Iota 采用 Tangle(一种 DAG 共识算法),通过与前两笔交易相连来进行验证。这种方法的好处在于,每添加一笔交易都会使网络变得强大。同时,它不需要通过挖矿来达成共识。

为了停止双花,Iota 包含的交易不超过交易的 1/3。这样一来,没有人可以控制整个链,也便无法进行双花。

但 IoTa Tangle 并非真正去中心化,它采用了一个称为“协调器(Coordinator)”的中心化节点。尽管如此,它通过监督交易并确保不发生争端来保证整个网络的运行。

Nano

Nano 是一个零手续费的去中心化平台,使用一种名为区块格的有向无环图。Nano 网络速度快,并且不收取任何费用,其架构结合了区块链和 DAG,创造性地实现了去中心化。

推荐阅读