动态 P2P 在Cardano主网上可用

动态 P2P 网络是 Cardano 的一次重要演进,进一步提升了网络的性能、弹性和去中心化。 通过自动化对等点选择过程,动态 P2P 可以增强分布式节点之间的通信,并简化运行中继或区块生成节点的过程。 这消除了对静态配置和手动权益池运营商 (SPO) 输入的需要。

动态 P2P 作为内置功能出现在今天发布的节点 v.1.35.6 中。 现在鼓励 SPO 社区通过更新其中一个中继以使用 P2P 拓扑模式来测试 P2P 功能。 在接下来的几周内,IOG 和 CF 团队将与 SPO 社区一起评估网络连接性,以确保顺利推出动态 P2P 功能。

这里有更多关于 Cardano 网络的演变和动态 P2P 带来的功能。

连通性
Cardano 的网络协议使用标准通信基础设施将节点及其交互组合到一个统一系统中。 网络将有关事务和块的信息分发给所有活动节点。

有两种配置 Cardano 节点的方法:

作为出块节点,负责在 Cardano 区块链上出块。 SPO 运行块生产节点,这些节点需要传入连接来接收块信息,需要传出连接来传播生成的块。 P2P 将启用每个连接的双向使用,因此连接的顺序无关紧要。
作为中继节点,负责与网络中的其他中继进行通信,并广播来自区块生产节点的区块。 中继节点还充当区块生产者的“防御层”,以确保区块生产者不会直接暴露在整个互联网中。
确保最小的通信延迟和最大的弹性
该网络的设计旨在最大限度地减少通信延迟并最大限度地提高网络对故障、容量限制或恶意行为的弹性。

IOG 一直建议 SPO 为每个出块节点至少部署两个中继节点,以确保系统有效地添加块和验证交易。 这增强了安全性并阻止了拒绝服务 (DoS) 攻击。

如前一篇文章所述,Cardano 的网络从最初的联合结构演变为混合和当前的 P2P 模型。 网络将随着未来的增加而不断发展,例如 Ouroboros Genesis 和同行共享:

Federated:在 2017 年的 Byron 开发阶段引入,IOG 核心和中继节点维护网络并连接用户、钱包和交易所。
混合:自 2020 年的 Shelley 开发阶段以来,区块生产节点通过可信中继和/或手动社区开发和管理的称为拓扑更新器的工具发送和接收通信。
动态 P2P:目前正在发布,动态 P2P 提供自动化和弹性以优化网络性能。 SPO中继可以通过自我发现和优化自动相互连接。
Ouroboros Genesis:开发中。 任何运行自己的节点或代达罗斯钱包的人都将连接到一个完全去中心化和自组织的网络。
同行分享:发展中。 节点共享将有助于发现未在整个 Cardano 节点网络中的链上注册的潜在节点。 此阶段还将允许任何人为运行网络做出贡献,而不仅仅是使用 SPO 的资源。
当前网络状态:混合模式
目前,块生产节点需要传入和传出连接来接收和传播块。 然而,这些连接的选择(在配置中)是使用拓扑更新工具完成的手动任务。 该工具可帮助 SPO 配置其节点以连接到网络中的其他节点,并接收有关网络变化的更新(例如,权益、性能或可用性)。

SPO 需要花费时间和精力手动运行该工具。 在更新中继时,SPO 还需要确保其出块节点已连接到网络,否则,他们可能会错过出块时隙和任何奖励。

动态 P2P 自动连接
动态 P2P 通过自我发现和优化实现 SPO 中继之间的自动连接,从而消除了混合设置所需的静态配置和手动 SPO 维护。 P2P 使网络对节点或路由故障等变化具有更高的性能和弹性,还简化了数千个分布式节点之间的信息流。

动态 P2P 是如何工作的?
P2P 不只是自动选择静态配置,它比静态配置更动态。 目前,SPO 可能会将一个节点配置为连接到例如 50 个其他 SPO 节点。 这是一个相当大的数字,因为许多节点可以离线、更改它们的地址等。而 20 个连接足以进行高效通信由于静态配置,SPO 可能不得不过度供应。

在动态 P2P 设置中,SPO 可以目标配置 20 个连接,可以从数千个 SPO 中继中挑选,而不仅仅是 50 个。如果有任何离线或离线,设置将自动选择新的连接,以满足设置 目标。 这意味着配置不再局限于 50 个对等点的静态池。

P2P 还允许为 SPO 之间的直接对等安排进行更复杂的配置。 例如,如果两个 SPO 想要在他们的中继之间保持连接,并且每个 SPO 都有两个中继,他们可以配置一组列出其他 SPO 的两个中继的对等点,但目标是至少应该有一个连接。 这意味着不需要过度配置,如果一个中继出现故障,SPO 仍会自动进行故障转移。 对于静态配置,人们必须在只列出一个配置因而得不到弹性,或者同时列出两者和过度配置(使用更多资源)之间做出选择。

最后,P2P 优化节点的选择以最小化整个网络中的整体扩散时间。 它连续自动地执行此操作。 IOG 内部研究表明,纯粹基于本地信息的政策可以获得接近最优的全球结果。 它衡量节点首先提供块头的频率,该块头后来出现在链中。 根据此指标最无用的节点会定期“淘汰”并由其他随机选择的节点替换。 模拟结果表明,这种简单的优化过程方法在相对较少的迭代次数(大约 24 小时)内达到了接近最优的全局结果。

有关更多详细信息,请参阅此技术规范。

我们将继续与 SPO 社区分享更多更新,并邀请大家加入 SPO Telegram 组和 Discord 频道进行技术讨论。