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

为此我在很早就开发出了见证人列表工具(当前访问地址为:https://legacy.cutehive.com/), 后来又在AI的帮助下,开发出来一个更优雅的版本:https://cutehive.com/witnesses)。
通过这两个工具,我们可以轻松地查看见证人们的运行状态,检查我们的投票,以便于我们投给节点状态健康的见证人。
但弊端就是没有对见证人节点的状态进行一个友好的解读,比如以下的一些节点,哪些是健康的呢?

把节点的健康状态定义清楚,是一件很困难的事,需要考虑很多因素。但我想了一下,大概主要要考虑以下几点:
- 见证人节点运行的软件版本(低于HF版本应该认为是不健康的)
- 见证人节点距离上次出块的时间(很长时间没有出块应该被认为是不健康的)
- 见证人节点的在线/离线状态(长期离线,应该认为见证人放弃了)
上述因素还有各种组合,我简单总结出来一些:
版本低于硬分叉版本但是还是在线状态——这样的节点会影响HIVE区块链出块的稳定性(尤其是排名靠前的),所以应该定义为最不健康的,大家应该及时撤票。
版本正确,还在线,但是很长时间没有出块,大概是节点崩溃了,管理者可能没有及时发现,或者发现了也没及时处理,这种也算是不健康的。
版本正确,还在线,但是一段时间没有出块。大概也是节点崩了,但是管理者可能正在维护(推荐维护时先离线),这种也是需要注意的。
离线超过一个月(30天),还没有重新上线的。我觉得可以认为见证人不打算干了,或者换ID了。这样长期离线的可以考虑撤票了。
中长期离线的(7-30天),有理由认为见证人没有重视维护自己的见证人节点,可以考虑撤票。
短期离线的(未超过七天),我们姑且认为此节点正在维护。可以暂时先观望一下,再决定如何操作(撤票或者保留投票)。
至于为什么不考虑丢块数、喂价、HBD 存款 APR等信息?因为HIVE/STEEM分叉期间,很多节点临时停摆,丢了很多块,不能反映节点的水平,而且排名100的节点和排名前20的节点一起比丢块数显然不合理。
喂价、HBD 存款 APR也很重要,但是相对于稳定地出块,这些信息就显得不那么紧要了,所以展示先不考虑。
虽然这些信息都可以通过https://cutehive.com/witnesses 获取,但是逐一判断还是太困难了。所以基于上述分析,我搞了个见证人节点运行情况评估工具。
对排名前300的节点,进行了一下评估,结果如下:

可见实际稳定运行的见证人节点还不足100个。
还停留在分叉前版本的节点(前150名)

出块停滞的节点

长期离线的节点

中短期离线的节点

短期离线的节点

见证人节点的运行状况大致就是这样了,建议根据节点情况调整投票。如果你不清楚或者懒得考虑支持哪个节点,可以将我设置为你的投票代理人哦。
这个程序还在调整优化中,一旦完善后会发布到HIVE开发者社区,供大家使用,敬请期待。