IOTA 2.0 当前状态和后续进度的详细信息

IOTA 2.0 当前状态和后续进度的详细信息
我们详细概述了 IOTA 2.0 的当前状态和后续步骤。目前的努力主要集中在优化共识和通信层,使协议更高效、更简单。下一步涉及实施主动防御和可用性功能,例如本地快照。

介绍

IOTA 2.0 开发网的发布标志着 IOTA 基金会历史上最重要的里程碑之一。这是第一次,我们不仅能够在一个真正的、完全去中心化和无协调器的网络中展示 IOTA 2.0 背后的想法,而且我们还能够研究不同组件的交互。

测量和评估每个组件的性能的能力使我们能够讨论和决定一系列优化,以使协议更加健壮、高效和简单。

大多数更改涉及数据流的小优化和代码简化。但是我们也对通信层进行了调整,并对共识进行了一些关键的更改

通过从 Tangle 中获取所有信息并以乐观的方式处理传入的交易,对共识层的改进显着简化了协议。第一个实现已经完成,我们正在同时进行深入的模拟和研究论文。在我们继续走一条清晰的道路的同时,只剩下一些变化需要实施。

至于通信层,目前在IOTA 2.0 开发网中实现了一种高效的调度算法。这与速率设置器模块一起使用以确保公平性和短的延迟。作为下一步,我们将实施一种惩罚攻击者的机制,该机制已经被规范。此外,我们目前正在努力提供改进的用户体验,以促进网络的可用性。

这篇更具技术性的博客文章深入探讨了 IOTA 2.0 改进的细节,描述了当前状态并描绘了未来道路的总体图景。IOTA 2.0 当前状态和后续进度的详细信息

共识层

愿景

之前的一篇博文所述,节点现在无需询问其他节点的意见来解决冲突,而是只需通过观察 Tangle 即可获得所需的所有信息。由此产生的协议与 IOTA 的原始愿景非常相似,它使用纯中本聪风格的共识,没有额外的投票开销,节点通过在Tangle中创建消息来陈述自己的观点。

在FCOB+FPC的情况下,每笔交易都会受到一段隔离时间的惩罚,以便在极少数冲突无法及时解决的情况下,设定初始意见,并从一开始就打破亚稳定。

相反,对共识的更改允许节点在不应用隔离时间的情况下陈述其意见。只有当冲突在一段时间内未解决时,才会激活诸如 FPCS 之类的亚稳定破坏机制来决定冲突。这种乐观的过程不仅加快了确认时间,还使协议更加简单和精简。

我们现在的进度

对共识的改进的实施进展很快作为模块化冲突选择功能和类似开关的Pure on Tangle Voting(OTV)的第一个实施已经完成,我们目前正处于测试、错误修复和编写文档阶段。紧随其后的步骤包括简化批准权重(AW)标记和更新工具,即GUI钱包、库及其文档。

我们基于 FPC 的亚稳态断路器的第一个版本已经过学术界的彻底验证(FPC-BI带加权投票的快速概率共识)。同样的结果和概念可以扩展到我们目前的优化方案,这是对原始FPC的直接修改,并将很快在一篇严谨的科学论文中公布。我们将继续进行验证,准备一份科学研究论文,展示我们改进后的共识机制的力量。

除了描述OTV的机制外,我们还将基于多元宇宙模拟器进行广泛的模拟研究,以分析其性能,该模拟器目前正在扩展为我们的共识提供一个通用的模拟框架。这包括研究各种双重支出情景下的确认时间和弹性,以及对不利环境的考虑。最后,我们将把OTV和FPC On a Set(FPCS)结合起来,并详细探讨这些共生的含义。

前方的路

使用纯 OTV,节点根据他们对较重分支的感知来设置对冲突的初始看法,这使得该协议的行为类似于比特币的最长链规则。这意味着共识本质上是概率的,客户端(例如,节点、钱包或交易所)决定何时将交易视为已确认的安全阈值(这在比特币中称为6块规则)。相应地,我们将引入几个最终等级 (GoF),主要基于批准权重,它们定义了不断增加的安全阈值。等级越高,安全性越高。然而,在极少数情况下(例如被遮挡或部分离线),节点可能会在稍后的时间点收到丢失的信息,这可能会触发重新组织其本地感知的需要,就像在比特币中一样。值得庆幸的是,高 GoF 设置使这些事件几乎不可能发生。尽管如此,这个重新组织过程需要在节点软件中实现,以重置依赖于确认的组件。

一旦我们有了运行重新组织的纯 OTV 的稳定版本,我们就可以将重点转移到实现亚稳态破坏机制上,以与纯 OTV 携手并进,如果冲突未解决太久,就会启动。具体来说,我们将首先在集合 (FPCS) 上实施快速概率共识作为亚稳态破坏者,利用积极的先前研究结果。模块化冲突选择功能让我们可以轻松交换我们设置初始意见的方式;因此,即使尝试使用其他方法来达成共识,也只需要对代码进行微小的调整。

作为 Sybil 保护,投票由 cMana 加权。但是,绝对 cMana 值可能无法产生足够的信息。相反,我们使用活动 cMana来表示一个节点相对于所有最近活动节点的权重。因此,主动 cMana 是一个重要的组成部分,需要进行严格的研究以了解其边界和局限性。

通讯层

愿景

在传统的基于工作量证明的分布式账本技术 (DLT) 中,将新消息添加到账本上的权利由挖矿过程来保证,其中一个节点在完成一些计算量大的任务后被选举出来。作为执行此类任务的激励,获胜节点获得交易费用和区块奖励。在此类 DLT 中,费用充当过滤器来选择应将哪些消息添加到分类帐中:因此,在拥挤期间,费用金额会变大。

另一方面,IOTA 旨在成为新兴数字经济,尤其是机器经济的支柱。因此,需要费用和高端设备的协议既不可行,也不可持续。然而,取消费用需要采用一种明确的机制来处理大流量突发。

在 IOTA 基金会,我们采用一种受“标准互联网”启发的方法来定义IOTA 拥塞控制算法 (ICCA)与基于工作证明的DLT不同,我们的方法允许网络资源的最佳利用,仅受网络在带宽和事务处理能力方面的物理限制。此外,ICCA可以被低端节点高效地使用,因为它不需要任何昂贵的任务或费用。我们的解决方案还提供其他几个基本功能:

  • 一致性:所有节点最终将相同的消息写入其本地分类帐。
  • 公平性:网络访问按比例授予“稀缺资源”,即访问 Mana(见下文)。
  • 效率:如果需求存在,将充分发挥网络的潜力。

我们现在的进度

本小节描述在创建新消息和从邻居接收消息时节点必须执行的操作,这些操作当前在IOTA 2.0 开发网中实现。

消息生成

一个称为access Mana的数量 为节点提供了写入权限。从用户的角度来看,访问 Mana 转化为节点的特定吞吐量。有趣的是,此吞吐量与当前的流量条件相适应:节点逐渐提高其消息生成率(吞吐量),直到检测到拥塞为止;一旦检测到拥塞,吞吐量就会降低。节点通过查看其发件箱缓冲区中保留的自己消息的数量来检测拥塞。

消息接收

在新收到的可靠消息(见下一段)通过某些验证过滤器(例如签名检查语法验证)后,它会被添加到本地分类帐中。此后,该消息被附加到由调度程序管理的发件箱缓冲区,以决定必须将哪些消息添加到提示集并与邻居闲聊。调度器使用轻量级循环算法来高效地同时处理大量消息。最近,我们移动了消息预订后调度器,以优化重新同步程序。

固化

在处理交易时,节点需要知道交易的消耗输出(输入),以便正确验证交易。过去,该协议要求交易的所有输入都在其包含消息的过去锥中。验证某些东西是否在过去的锥体中可能需要在 Tangle 中行走,这是一项昂贵的操作,并且在开发网中已被证明是不可行的。因此,已经实施了不同固化方法的第一个版本,该方法不仅消除了过去的锥体要求,而且还简化了数据流并允许更多的并行化。

前方的路

抗攻击性

在 DLT 中,恶意节点极有可能影响网络的功能。因此,每个解决方案都必须针对所有潜在威胁进行验证。正如我们已经通过实验证明的那样,ICCA对攻击是有弹性的:当攻击者试图获得比允许吞吐量更快的吞吐量时,诚实节点会延迟他们的消息,因为它们不会根据当前的访问管理向量进行调度。因此,攻击者发出的消息将在诚实节点的发件箱中停留很长时间。虽然这不会影响诚实消息的性能,但识别此类恶意行为很重要,原因有两个:(I)攻击者可能会夸大其邻居发件箱中的消息数量,使其资源耗尽;(Ii)诚实节点可能已附加在恶意消息之上,从而导致节点之间的分类帐不一致。为了克服这些问题,我们将通过丢弃恶意节点的消息将其列入黑名单。当恶意流在发件箱中的邮件数量超过给定阈值时会被检测到。设置此阈值的方式(这对于快速检测恶意行为同时不将诚实节点列入黑名单至关重要)已在最近的一篇论文,很快就会在我们的 开发网中实现。

准确估计消息中时间戳的有效性也很重要。例如,不应将旧消息添加到调度程序中,因为它们很有可能已被邻居接收到。此外,附加到旧消息是不可取的,因为这会增加新消息的确认时间(我们假设旧消息已经过验证)。此外,需要准确的时间戳来保证快速重新同步并阻止攻击者损害协议的性能。我们目前正在研究一个指标,称为包含分数,它评估消息被视为“最近”并准备好进行调度的可能性:这个指标考虑了消息时间戳和来自发布节点的消息的调度器占用。

用户体验

节点的吞吐量由速率设置器算法调节。这意味着节点在拥塞的情况下不能连续生成消息,因为它们将受到ICCA的惩罚。我们目前正致力于提供作为访问Mana向量的函数计算的节点吞吐量的估计。通过合理的猜测,可以回答以下问题:假设用户(钱包或节点)有一个新消息要发出:应该选择哪个节点才能将此消息快速添加到IOTA分类帐中?这一研究方向试图将新消息分配给在给定时间点不太繁忙的节点。我们将这一挑战描述为优化问题,并基于消息创建者占用或每节点延迟来测试几个建议的策略。

另一方面,请记住,将消息传递到所有节点所需的时间(几乎)与发出节点的访问管理无关。这意味着接入管理向量仅调节创建新消息的速率,但不影响网络的可用性。平均而言,延迟预计会相当低:我们估计,在正常情况下,消息在调度程序中停留的时间只有零点几秒;在繁忙的流量条件下,此延迟会略有增加。在当前的建议中,我们通过设置节点能够发出消息所需的最小法力阈值来处理繁忙的流量:通常情况下,如果这样的阈值较低,则更多的节点能够发出消息并潜在地造成拥塞。我们目前正致力于根据当前流量机会性地调整此阈值。

快照

Tangle可能真的会变得非常大,并不是每个用户都能追溯到起源时跟踪它的整个历史。因此,本地快照应该允许节点安全地修剪其数据库;也就是说,可以删除足够旧的数据,而不会损害网络的安全性。快照依赖于协议的许多部分,并直接影响分区容忍度,因为分区不能合并到本地快照之外。它还与不可信同步密切相关,因为没有追溯到创世的整个历史的节点在没有附加机制(如Merkle树或多项式承诺)的情况下无法轻松地验证分类帐状态。这些课题目前正在研究中。

结论

IOTA 2.0 开发网 为我们的团队提供了宝贵的见解,帮助我们通过无领导、无费用和无许可的分布式分类帐协议实现IOTA网络的完全去中心化。

我们在GoShimmer实现方面取得了很大进展,添加了一些最新的改进(特别是在达成共识的情况下),并开始重构代码库。虽然我们很高兴看到这种朝着稳定网络实施的迭代进展,但我们的团队仍有几个关键的研究问题需要评估、验证,然后在GoShimmer中实施。我们相信,这些变化将使该协议总体上更加安全、更易于实施和更快地使用。

一旦我们实施了所有必要的更改,我们将升级IOTA 2.0 DevNet,并邀请IOTA社区与我们的团队和研究伙伴一起参与并试验改进后的协议。基于该网络的结果和反馈,我们的团队将致力于最终确定IOTA 2.0规范,并开始在Go和Rust中开发稳定的实现。这将导致激励测试网的启动,并最终导致 IOTA 主网的“Coordicide”。


原文:点击进入

专栏作者:IOTA-方可

个人简介:我共发表了 180 篇文章,总计被阅读了277,259 次,共获得了 1,991 个赞。

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

发表评论

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