如何评估见证人节点运行情况

Words
1081
Reading
5 min
Listen
Play
5M

作为一名HIVE区块链上运行见证人节点长达近八年的见证人,一直以来我都很是关注自己和他人见证人节点的状态。

020324c4acf1deb68220f4d558bd7ccf.png

为此我在很早就开发出了见证人列表工具(当前访问地址为:https://legacy.cutehive.com/), 后来又在AI的帮助下,开发出来一个更优雅的版本:https://cutehive.com/witnesses)。

通过这两个工具,我们可以轻松地查看见证人们的运行状态,检查我们的投票,以便于我们投给节点状态健康的见证人。

但弊端就是没有对见证人节点的状态进行一个友好的解读,比如以下的一些节点,哪些是健康的呢?
58ee02585fe58788b7b5d493d3bb5787.png

把节点的健康状态定义清楚,是一件很困难的事,需要考虑很多因素。但我想了一下,大概主要要考虑以下几点:

  • 见证人节点运行的软件版本(低于HF版本应该认为是不健康的)
  • 见证人节点距离上次出块的时间(很长时间没有出块应该被认为是不健康的)
  • 见证人节点的在线/离线状态(长期离线,应该认为见证人放弃了)

上述因素还有各种组合,我简单总结出来一些:

版本低于硬分叉版本但是还是在线状态——这样的节点会影响HIVE区块链出块的稳定性(尤其是排名靠前的),所以应该定义为最不健康的,大家应该及时撤票。

版本正确,还在线,但是很长时间没有出块,大概是节点崩溃了,管理者可能没有及时发现,或者发现了也没及时处理,这种也算是不健康的。

版本正确,还在线,但是一段时间没有出块。大概也是节点崩了,但是管理者可能正在维护(推荐维护时先离线),这种也是需要注意的。

离线超过一个月(30天),还没有重新上线的。我觉得可以认为见证人不打算干了,或者换ID了。这样长期离线的可以考虑撤票了。

中长期离线的(7-30天),有理由认为见证人没有重视维护自己的见证人节点,可以考虑撤票。

短期离线的(未超过七天),我们姑且认为此节点正在维护。可以暂时先观望一下,再决定如何操作(撤票或者保留投票)。

至于为什么不考虑丢块数、喂价、HBD 存款 APR等信息?因为HIVE/STEEM分叉期间,很多节点临时停摆,丢了很多块,不能反映节点的水平,而且排名100的节点和排名前20的节点一起比丢块数显然不合理。

喂价、HBD 存款 APR也很重要,但是相对于稳定地出块,这些信息就显得不那么紧要了,所以展示先不考虑。

虽然这些信息都可以通过https://cutehive.com/witnesses 获取,但是逐一判断还是太困难了。所以基于上述分析,我搞了个见证人节点运行情况评估工具。

对排名前300的节点,进行了一下评估,结果如下:

f8e65a6ca93f98c84003a097434a0272.png

可见实际稳定运行的见证人节点还不足100个。

还停留在分叉前版本的节点(前150名)
020324c4acf1deb68220f4d558bd7ccf.png

出块停滞的节点
591eccf2f2d10064c6365d2c06425342.png

长期离线的节点
e3c52d42df069c312224f18c3e1b57be.png

中短期离线的节点
039324be80383d701d9e26f24c7b3fe0.png

短期离线的节点
7738b0d0e3c50c0de7e27ebb15272c66.png

见证人节点的运行状况大致就是这样了,建议根据节点情况调整投票。如果你不清楚或者懒得考虑支持哪个节点,可以将我设置为你的投票代理人哦。

这个程序还在调整优化中,一旦完善后会发布到HIVE开发者社区,供大家使用,敬请期待。

相关链接

如何评估见证人节点运行情况 | Ecency