9月9日,IOTA基金会负责改进DevNet上IOTA 2.0协议实现的研究团队公布了近期的研发进度报告。
本次更新公布了两个新设立的研发团队:共识团队和通信层团队。共识团队的成立是为了解决在七月份的研发报告中提到的消息传递延迟问题。目前为止,对改进后的共识机制的模拟和测试取得了不错的结果。通信层团队则负责在IOTA 2.0协议中全方位地处理通信相关的业务,例如验证网络性能、优化、时间戳等。
DevNet实现方面的研究进展
自上次更新以来,该团队发布的v0.7.4和v0.7.5大大提高了软件的整体稳定性,修复了数个bug并将任务调度组件移至数据流的末尾。此更新简化并强健了同步过程。此外,在标记分配方面还存在一些问题,导致一些新的节点运营者很难成功地完成节点的同步。为此,团队正在开发一个新功能来解决此问题,届时,社区节点可以通过下载一个最新的数据库来更快、更可靠地进行同步。
共识方面的新改进正快马加鞭地部署中,现已处于测试阶段。具体进度情况是,已将这些新改进添加至代码库,但是尚未进行合并。这些新改进包括:模块化共识接口、On Tangle投票(OTV)机制、一个新的父类型(即Like开关)和一个重构的消息语法验证。构建于每条消息之上的批准权重现在可以转换为确定性等级(GoF):低、中、高。还增加了专门用于分析OTV(On Tangle Vote)的新指标集合,并为节点的本地视图面板开发了新的冲突摘要页,可以方便每个节点运营者在对冲突进行投票时实时地检查其节点的行为。
已将包括速率设置器,拥塞控制核心组件在内的其他协议组件集成到流中。相当大的工作量用在了对代码质量的改进上,例如在插件初始化中使用依赖注入、参数的统一、更加通用的序列化和反序列化库等等。
官方文档已迁移到 docusaurus,请点我查阅。
网络方面的研究进展
网络团队目前的工作重点是分析IOTA拥塞控制算法(ICCA)的性能以及改进用户体验。更具体地说,ICCA的设计目标是最大限度地减少延迟,即将消息传递到所有节点所需的时间。这意味着ICCA所使用的阈值(黑名单、自回退「self back-off」和最小法力值「mana」)可以充当这种最大延迟的调节器。为了直观地理解这一点,请您想象一个缓冲区,如果它的大小是无限的,则其中的延迟也可能是无限的;而当此缓冲区较小时,则新消息只需进行等待,直到所有现有(少量的)消息都完成调度。因此,团队正在分析各种参数,以确定它们是如何影响ICCA的实际性能以及如何优化这些参数。初步研究表明,分配和限制逆差的方式对性能有很大的影响。
同时,对节点之间的负载均衡的研究也在进行中,以寻求以下问题的答案:假设一个用户(钱包或节点)要发布一条新消息,为了在短时间内创建此消息,应该选择哪个节点呢?请记住,每个节点都有一个消息创建器模块,向调度程序中添加新消息的速率由速率设置算法来调节;因此,该项目试图将新消息分配予在给定的时间点不那么繁忙的节点。团队认为这是一个优化问题,并且团队正在基于每个节点的消息创建器的占用率或者每个节点的延迟对一些提案展开测试。
在可验证延迟函数 (VDF) 的背景下,团队正在通过使用之前研究过的多取幂(multi-exponentiation)技术来优化Spam预防算法的计算和评估时间。研究发现VDF验证中最费时的一个方面就是找到最小数字,并且使这个数字加上一个输入消息的散列之后得到的是质数。团队目前正专注于提高该功能的速度。
分片方面的研究进展
数据分片小组在过去数周中的工作重点包括: ISCP链和数据分片的动机的研究、模型的模拟,并将团队的发现、定义和讨论的形式确定下来。
数据分片团队进行了两种不同的模拟。第一个是基于用户的模型,考虑了具有不同MPS(每秒消息数)需求的不同用户接入网络并优化他们自己的分配。在这个模型中,对一些有趣的数据进行了检查,例如每个分片的法力值分配、每个法力值共享的预期MPS和每层的MPS。 第二个模型是基于分片的模型,团队主要关注分片之间的通信引起的开销。两次模拟都为团队提供了达到预期或者说非常积极的结果。这些结果将正式确定下来而且对团队正在进行的工作提供了很大的帮助。
共识方面的研究进展
新成立的共识团队负责处理与共识改进相关的所有事项。因此,这是一个跨学科小组,目前主要专注于模块化共识的改进、Like开关的实现和测试、OTV的模拟、撰写有关OTV的论文以及对简化和增强协议的想法展开进一步的讨论。
团队正在基于多元宇宙模拟器构建一个通用的模拟框架,这可以帮助我们深入的了解共识机制、其优势和局限性。该模拟器将会成为一个激斗的战场,上演各种对纯OTV以及以FPCS作为亚稳态破坏机制和其它潜在机制的OTV的攻击。目前,模拟框架处于极早期的状态,尚未得出有意义的结果。在不久的将来,这个框架将帮助团队在参数设置方面做出明智的决策(例如,应何时开启FPCS ?),感受不同法力值分布和声明率的确认时间,并为团队撰写OTV论文时提供素材。
同时,该团队还在讨论如何进一步简化协议。例如,使用like开关,我们现在可以明确区分分支和标记的批准权重 (AW)。 通过使用单个标记序列来概算AW,我们可以分离这些组件,加速AW 计算并使事情更容易理解。此外,团队还在讨论主动cMana(顾及当前冲突/消息的cMana)的概念和共识的终止,因为跟随最重的分支是一个永远止境的投票方案,就像区块链中的最长链规则一样。
通信层方面的研究进展
通信层团队是另一个新成立的团队。团队的工作重点是处理网络团队和GoShimmer团队研究期间发掘出的通信和同步方面的问题。
本月,该团队对近期添加到DevNet的调度器和速率设置器组件进行了测试和评估。在这里,设置了各种虚拟网络配置以验证现有实现是否符合网络研究的预期结果。这些测试的另一个方面是在某些边缘场景中识别潜在的性能瓶颈。
在更理论的层面上,团队一直在评估不同的时间戳方法。时间戳允许对消息进行直接的比较和排序,这对各种组件都有帮助。这些不同的方法需要在精度、可靠性和计算复杂性方面进行评估。
====================================
您可以通过以下方式实时跟进或者亲自参与IOTA团队的研发:
IOTA Discord(#tanglemath 频道):https://discord.iota.org/
IOTA 研究讨论论坛:https://iota.cafe/
本文原始链接:https://blog.iota.org/iota-research-status-update-september-2021/