协调器-第二部分:IOTA是DAG,不是区块链

协调器-第二部分:IOTA是DAG,不是区块链

在本系列的第二篇文章中,我们提供了一些关于IOTA分类账基于有向无环图(DAG)特征的进一步解释说明。这种思考特别有用,因为DAG与区块链的这种差异有助于解释IOTA的未来愿景,以及Coordicide的实现路径。

在概念层面,区块链和DAG有一些相似之处。两者都是分布式分类帐技术,允许用户以分散的方式获得对分类帐状态的最终共识。但是,它们的底层机制确实有所不同,更重要的是,它们的扩展性和应用潜力存在一些关键差异。


但是,区块链有什么问题?

鉴于区块链已经存在,并且它们似乎可靠地维持着分类账的共识状态,这已经是得到验证的事实。那为什么又要重新研究DAG?主要的动机是解决可扩展性的弊端。

我们将比特币作为区块链的案例研究。无论系统中涉及多少需求或计算能力,它都限制了交易速度为全球每秒约7笔交易(TPS)。此外,即使没有堵塞,交易达到最终共识状态所需的时间大约是一个小时,这限制了许多潜在应用的可能性。完全描述区块链扩展问题超出了本博文的范围,我们推荐参考Preethi Kasireddy的这篇文章作为比特币扩展性问题的科普。

区块链瓶颈之一是每个节点在发布新块之前必须要达成共识。如果不保持这种同步性,我们会得到许多孤立的区块。这些区块不会影响网络的总体吞吐量,却会浪费带宽和工作量证明资源。孤立区块也称为临时叉。

在DAG中,我们接受这些孤立区块和临时叉,这也是提高TPS率的必然结果。然而,与区块链系统不同的是,这些孤立区块最终会被系统相融合,因此不会浪费资源。从理论上讲,这是DAG的主要优势。


共识如何达成?

区块链和DAG这两个术语是指用于存储分类账状态的数据结构,而不是共识机制。区块链可以使用例如工作量证明(PoW),权益证明(PoS)或达到共识的法定人数(例如Dpos)。同样,DAG也可以有不同的共识机制。在本节中,我们将重点比较像比特币和IOTA这样的基于POW共识机制的区块链。

在基于PoW的DLT中,有两个基本问题需要回答:

  1. 新出区块如何连接到网络中?
  2. 如何确定交易何时被确认?

比特币和IOTA为这两个问题提供了不同但类似的答案。总结如下。

比特币认为:

  1. 最长链规则:可能用词不当,但是这条规则规定新块应该批准最大累积PoW的链。
  2. 六块规则:如果一个新区块至少有六个区块的深度,并且是最长链的一部分,则可以认为它已被确认。

(如果对这些概念不清楚,我们建议学习3Blue1Brown对比特币视频的精彩介绍,或者其他入门级区块链课程。)

IOTA在白皮书中提到的问题答案:

  1. MCMC(蒙特卡洛马尔科夫链)tip算法:新交易使用MCMC加权随机行走,选择待批准的2个先前交易。
  2. 置信度:如果置信度非常高,则确认交易,这意味着几乎所有合法的tip都会被批准。

虽然IOTA不使用区块,但我们可以将交易想象为大小为1的块,并且类比成立。这种描述是对两个系统的简化,仅希望传达区块链共识如何与缠结相关的主要思想。


如何执行MCMC?

IOTA是一个分布式系统。 IOTA基金会或任何人都无法强制执行特定交易的批准。我们也不能强制使用我们推荐的MCMC算法。我们所能做的只是表明,维护遵循我们的建议的用户的最佳利益,否则,用户的交易可能不会被其他人批准。

比特币也是如此。如果矿工认为通过分支主链而不是进一步强壮主链来获得更多利润,那么他们肯定会选择分叉。例如,在最近的这篇文章中所描述的,该文章声称比特币的激励系统可能不足以在没有区块奖励的情况下获得稳定。另一个更具体的例子来自以太坊:由于The DAO事件造成的硬分叉,如果忽略主链的经济激励规则,那么整个系统将崩溃。

面对这些令人不安的事实,最明智的做法是让用户自由选择批准哪笔交易,以及他们自己认为正确的交易。IOTA中只有一条基本规则:每笔交易必须正确批准以前的两笔待确认交易。如果用户认为按照推荐的tip选择算法符合他们的最佳利益,他们就会这样做,我们也有责任表明并维护这一最好的共识策略。

 

原文链接:https://blog.iota.org/coordinator-part-2-iota-is-a-dag-not-a-blockchain-2df8ec85200f

tigermumu

专栏作者:tigermumu

个人简介:坚定不移的贯彻以推广和普及IOTA为核心一百年不动摇

作者邮箱 作者主页 Ta的文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注