关于CITA-Monitor的问题1:投票率疑问

image
为什么在只监控一个节点的情况下,能看到其他节点的投票率,红色部分框住的地方为什么投票率比其他节点少。

你这种情况可能是:在系统中跑了两条链,你以为你的链只有一个节点,但却连到了另一条链上,你可能需要检查一下你这个节点的网络配置。

这个指标获取的是区块中节点的投票率,本质就是 block_info[‘result’][‘header’][‘proof’][‘Bft’][‘commits’] 中节点地址出现的次数统计。

举例来说:在过去15分钟,A、B、C、D 4个节点都是共识节点,A、B、C 每次出块都参与了投票,每个节点都做了10次投票,但期间 D 有网络问题,只参与其中5个块的投票,因此在这个时段内,各节点的投票率是:

A:100%
B:100%
C:100%
D:50%

那 D 在所有人中的投票分布情况(环状图)是:50/(100+100+100+50)*100 = 14.25%
其他三个节点是:100/(100+100+100+50)*100 = 28.57%

这个图的精妙之处就在于不用监控每个节点,只要通过其中一个节点,就能获取到当时网络中每个节点的出块的情况,这个正是因为区块链系统中每次节点投票的历史都记录在链上,随时可以回溯。