Cardano拥有动态的 P2P 网络

https://cexplorer.io/article/cardano-has-dynamic-p2p-networking

很多人认为区块链的去中心化只是基于出块。 在股权证明(或其他共识)层之下是用于连接节点的对等网络(或八卦网络)。 这是一种物理基础设施,您可以将其视为通过网络电缆连接的节点。 在这些层之上,是用于项目管理的治理层。 如果没有分布式网络,就无法实现去中心化。 安全性取决于这两层。 重要的是要全面考虑安全性和去中心化,并包括所有三个层次。 对区块链的攻击可以针对任何层。 如果网络层被成功攻击,共识层也可能受到损害。 使用新的 Cardano 节点版本 1.35.6,网络参与者可以开始使用自动动态更新的 P2P 配置,而无需手动维护。 Cardano 网络层变得更加安全和高效。

TLDR
使用旧版本的 Cardano 节点,SPO 必须手动维护大量不必要的对等点连接。
动态 P2P 支持自动化流程,通过自我发现和优化找到最合适的节点。
网络更能抵抗 DoS 攻击。
Cardano 节点将自动重新配置与对等节点的连接,以使 P2P 网络中的数据分发速度接近最佳。
点对点网络
点对点网络,也称为八卦网络,用于在整个网络中有效地传播信息。 在区块链网络中,节点需要了解新的交易、区块和其他相关信息,以维护网络的完整性。 每个节点必须与选定的对等点建立多个传入和传出连接。 这确保了信息的接收和分发。

当一个节点接收到新信息时,它会将其与网络中随机选择的节点子集共享。 这些节点反过来与它们自己随机选择的节点子集共享信息,并且该过程一直持续到网络中的所有节点都知道新信息为止。 因此,来自单个节点(例如新创建的块)的信息可以到达整个网络中的所有节点。

这种信息共享方法对节点故障或网络分区具有高度的弹性,因为节点将继续与它们能够与之通信的其他节点共享信息,即使某些节点无法访问也是如此。 然而,潜在地,一个节点可能与少数对等点有连接,并且它们可能由于某些错误或攻击而全部离线。 因此,主动监控对等点的可用性很重要。

当一个新节点第一次启动时,它应该连接到谁? 包括比特币和以太坊在内的大多数区块链都需要所谓的引导节点来将新节点引入网络并帮助它初始化对等列表。 引导节点通常是 P2P 网络的入口点,每个新节点都可以从该点有机地找到新的对等节点。 在大多数情况下,这是随机发生的,或者用户可以手动设置与可靠对等点的连接(为此可以使用不同的工具)。 一旦一个节点有了一个节点表,它就可以开始交换信息(首先,区块链需要同步)。

新连接的节点不必随机联系网络中的节点并寻找提供必要信息的人来连接。 引导节点的危险在于,如果它未经身份验证,它可能是恶意的并执行中间人或日食攻击。

重要的是要知道在网络级别,通常有几个新节点连接到的可信引导节点(通常由团队运行)。 请注意,新版 Cardano 节点中的动态 P2P 连接功能并未解决引导问题。

自雪莱时代以来,区块生产节点通过可信中继发送和接收通信。 SPO 可以使用称为拓扑更新程序的手动社区开发和管理工具在配置文件中设置对等点的静态列表。

让我们补充一点,在 Cardano 网络中,出块节点隐藏在中继节点后面,以提高安全性。

共识层依赖于 P2P 网络,因为它需要可以达成新共识(添加新区块)的信息。 slot leader 必须能够及时分发新铸造的区块。 如果他不这样做,该块可能会成为孤立块,因为另一个节点会生成另一个传播速度更快的块。 这种情况(区块链分叉)是不可取的。 理想情况下,必须确保网络中的所有节点都及时获得所有可用信息。 这意味着与对等点的连接应配置为尽可能最佳和可靠。

动态 P2P 连接
在 Cardano 节点启动之前日期,使用了所谓的混合模式。 每个节点都必须设置到配置中选定对等点的传入和传出连接。 拓扑更新器工具帮助 SPO 配置节点并获取有关更改的信息。 SPO 需要花费时间和精力手动运行该工具(它可以在一定程度上实现自动化)。

Cardano 节点版本 1.35.6 自动连接到对等点。 动态 P2P 启用了一个自动化过程,该过程通过自我发现和优化在给定时间为给定节点找到最合适的对等点。 它消除了混合设置所需的手动维护静态配置的需要。

该更新使网络性能更高,对变化更有弹性。 节点自动对节点故障或数据分发速度下降等变化做出反应,并以最合适的方式更改静态配置。 它简化了数千个分布式节点之间的信息流。

在旧版本的 Cardano 节点中,SPO 必须手动配置与多个对等点的连接,例如 50 个。这是一个不必要的大数字,但也是合理的,因为 SPO 希望确保如果大量节点离线,至少有一个 其中很少有人会继续使用。 如果节点能够自动响应网络中的变化,那么 20 个对等点的数量就足够了。

节点区分 3 种类型的对等点。 节点已知冷对等点,但当前未与它们建立连接。 暖对等点是建立连接的节点,但仅用于网络测量(性能监控)。 热节点被积极用于达成共识。

在动态 P2P 设置中,SPO 可以配置 20 个连接到对等点(热对等点),这些连接可以从数千个 SPO 中继(冷对等点)中挑选,而不仅仅是 50 个。如果有任何离线,节点将自动选择新的 的,达到既定的目标。 因此配置不再局限于 50 个对等点的静态池。

动态 P2P 设置的好处是它优化了节点选择以最小化块在整个网络中的传播。 这种情况会根据网络的变化不断发生。

IOG 团队进行的研究表明,通过优化本地级别的节点配置,可以在整个网络环境中实现近乎理想的设置。 它测量对等方首先提供块头的频率,该块头随后出现在链中。 根据此指标,最无用(较慢)的对等点会定期“淘汰”并由其他随机选择的对等点替换。 模拟表明,这种简单的方法可以优化网络设置,从而实现数据分发方面的高性能。

自动动态优化使网络对任何通信延迟或停机时间更具弹性。 此外,它还通过阻止拒绝服务 (DoS) 攻击来增强安全性。 如果一个节点受到攻击,其他节点将自动注意到中断并将其设置更改为其他节点。

结论
对等点连接的自动动态配置将使 SPO 的工作更加轻松,更重要的是提高信息分发的速度。 手动设置可以同样或更有效,但需要知识。 自动化过程的优势在于它可以灵活地响应动态发展的网络中的变化。 如果对等节点离线,配置会自动更改并找到最佳连接。 如果全节点运营商依赖随机选择的节点列表,这可能不是最优的。 Cardano 节点可以测量与对等点的连接速度并自动更改设置以保持整体网络性能接近最佳。 让我们补充一点,SPO 可以保留其手动设置的同行列表,并且不需要使用此新功能。