跳转至

节点冗余

原文:https://docs.elrond.com/validators/redundancy

Elrond验证器节点可以配置为具有一个或多个热备用节点。这意味着额外的节点将运行在不同的服务器上,与主验证器节点同步。它们的作用是在主验证器节点出现故障时代替它,以确保高可用性。

这是一种冗余机制,允许主验证器操作员启动额外的“n”个热备用节点,每个节点运行相同的“validatorKey.pem”文件。配置之间的区别在于prefs.toml文件中的选项。

热备用节点是使用“prefs.toml”配置文件中的“RedundancyLevel”选项配置的:

  • 0 值将表示该节点是主验证器。值 0 将是默认值,因此如果缺少该选项,默认情况下它仍会使该节点成为主验证器。考虑到向后兼容性,已经运行的验证器不会受到添加该选项的影响。此外,我们从不在节点升级期间覆盖prefs.toml文件。

RedundancyLevel的值解释如下:

  • 正值表示自动故障转移序列中“热备用节点的顺序”。示例:假设我们有 3 个节点使用相同的 BLS 键运行。一个将冗余级别设置为 0,另一个设置为 1,还有一个设置为 3。具有级别 0 的节点将提议并签署块。另外两个将与主验证器的相同碎片同步数据(并在相同的碎片中来回移动),但不会签署任何东西。如果主验证器失败,级别为 1 的热备用节点将在level*5错过的回合后开始产生/签名块。因此,在主验证器错过 5 轮之后,级别为 1 的热备用节点将轮到它。如果热备用节点 1 也停机,热备用节点 2 将在主验证器失败后的3*5 = 15 rounds之后介入,并且在失败的热备用节点 1 应该已经产生一个阻塞后的 10 个回合之后介入。
  • 这个级别选项的一个大值(比如 100 万)或者一个负值(比如-1)将意味着热备用节点将没有机会产生/签名块,但是将与网络同步并在碎片之间移动,就像主验证器一样。
提示

热备用节点将在网络上通告不同的公钥(在启动时自动生成),从而隐藏在签署报头块时将使用的真实公钥。

提示

如果主验证器(RedundancyLevel 0)重新联机,热备用节点将恢复到备用模式。

警告

不要在多个节点上使用相同的冗余级别。否则,具有相同RedundancyLevel值的节点将同时开始并行签名块。虽然该协议没有受到双重签名的负面影响,但在不久的将来,将执行双重签名的 BLS 密钥将被削减其股份。

热备用节点上的随机 BLS 密钥有以下用途:

  • 热备用节点在空闲时不会导致 BLS 签名重新验证。
  • 它略微防止了 DDoS 攻击,因为攻击者无法找到目标 BLS 公钥后面的所有 IP:当攻击者关闭主验证器时,热备用节点将在需要对块进行签名时公布公钥,但不会更早。


回到顶部