协调器-第四部分: 开源协调器

6 个月前 · IOTA埃欧塔

今天标志着IOTA项目的一个“里程碑”。

我们正在发布自去年年底以来一直在工作的协调器的开源版本代码。 代码库如下:https://github.com/iotaledger/compass.

这个开源协调器已经在公共测试网上使用了一段时间。 我们乐观的目标是在未来6个月内将其部署在主网上。

让我们稍微深入思考一下,想想这意味着什么。希望我们能够澄清一些关于协调器在新兴的基于DAG的分布式账本(如IOTA缠结)中所扮演角色的常见误解。


协调器与IRI

如果你查看过开源协调器的代码库,你会发现代码实际上并没有太多。它调用getTransactionsToApproveat指定的时间间隔,创建并签署里程碑交易,并将里程碑交易附加到从IRI收到的tip。仅此而已。

通过这种方式,负责形成共识并创建缠结的是IRI节点,而不是协调器。或者更准确地说,协调器本身并不重要,重要的是协调器和IRI之间的有效互动。为了让我们在主网上切换到这个轻量级的开源协调器,我们首先需要一个强大的,经过实战检验的IRI,它可以始终保证缠结的健康。这就是为什么在过去的几个月里我们为重构和改进IRI付出了很多努力。理想情况下,我们希望看到如下特征:

至少3个月没有报告重大错误或影响网络的事件;
在正常操作条件下维持缠结的健康性;
安全专家进行彻底的代码审计。
虽然我们仍然没有达到IRI的预期性能,但我们仍然决定今天发布开源的协调代码,以便其他人可以帮助审查和调试它,同时继续改进IRI。这不仅有助于缩短主网上开源协调器的整体部署时间,与此同时,还可以帮助用户创建私有缠结和测试网。


私有缠结,透明度和潜在的风险

重要的是需要强调,在可预见的未来,消除网络对协调器的依赖仍然是我们的首要研究重点。但是,虽然网络仍然依赖于协调器,但是如果开源协调器可用,无论其最终产生积极的还是消极的作用,结果都会产生深远的影响。

由于对代码的更严格,更积极的监督是为了提高透明度,增强安全性和更广泛的采用。开源协调器也允许创建私人缠结;我们一次又一次地看到企业和学术研究人员对缠结的看法。使感兴趣的第三方能够自己完全复制缠结,增强理解,提高安全性并增加未来公共缠结的采用率。有关设置私人缠结的说明,请访问:https://github.com/iotaledger/compass/blob/master/docs/HOWTO_private_tangle.md

但是,如果多个协调器现在可以在主网上签名和发布里程碑,那么IOTA用户必须选择要遵循的协调器。不同的协调器会快速创建不兼容的分支,这从本质上来说是相当于一个硬分叉。或者,简单地说:单个协调器只能确认单个分支上的交易。此外,由于地址只应使用一次,因此从同一地址支付到不同的分支将意味着该地址已被重用。正如每个IOTA用户都应该知道的那样,重复使用地址会以指数方式降低安全性,应该避免出现。因此,IOTA用户选择一名协调器并坚持使用它是非常重要的,唯有此才能确保其令牌的安全性。

鉴于所涉及的潜在风险,使协调器在不会对普通用户造成任何问题的情况下将其公之于众就尤为重要。目前,IOTA基金会将继续在一个硬编码为IRI的地址上运行协调器(链接可点击查看)。这将确保普通用户的交易不会“意外”落入分支机构和/或因无意中引用非标准(即非IOTA基金会)协调器里程碑而遭受双重花费攻击。由于绝大多数社区,公共节点和用户都将遵循IOTA官方基金会协调器,我们强烈建议其他人也继续这样做,至少在我们准备好无协调器的缠结之前。

目前实现无协调器的缠结方法已在本系列的前几篇文章中概述过。随着研究的进展,我们将继续提供有关Coordicide的定期更新。


提供帮助:Bug奖励等等!

我们已经在Trinity和IOTA Hub上尝试了一段时间的bug赏金计划,并且很快将这个方式扩展到协调器和IRI。我们的目标是在接下来的几个月内尽可能多地关注代码,以便我们能够轻松安全地过渡到新的协调器。与往常一样,我们也欢迎GitHub问题和PR,讨论Discord或IOTA Stack Exchange的贡献。

我们希望本概述能够帮助用户深入了解我们正在执行的工作步骤,以便在协调器在删除之前变得更加透明。从而与我们来自世界各地的社区成员们一同迈入IOTA的下一阶段发展!与往常一样,我们鼓励您的参与,贡献您的专业知识,并欢迎大家通过IOTA基金会博客和IOTA工程团队的Twitter(@iota_dev)了解我们的进展。

IOTA

重新定义信任、价值和所有权