VEP 15: 在共识时增加节点出块成功率因素

背景

对于短期内,SBP 节点宕机情况,需要有机制将宕机的超级节点从出块列表中踢出去,保证快照块总体出块的稳定性。

方案

  • 为了防止恶意情况,最多踢出两个节点;
  • 取最近一个小时的 SBP 出块率,出块率阈值定在 80%,高于 80% 的节点一定不会被踢掉;
  • 假设前 25 名为集合 A,后 75 名为集合 B;
    • 针对集合 A 中出块率低于 80% 和集合 B 中出块率高于 80% 的节点,进行交换,最多交换 2 个;
    • 保持最终的集合 A 和集合 B 的节点个数不变;

结果

如果排名第 24 名节点出块率低于 80%,而排名 26 节点出块率高于 80%,则排名 26 节点则替代排名 24 节点进行出块。