-
Notifications
You must be signed in to change notification settings - Fork 5
Description
为了增强GXChain网络的容错性,和保障整个网络的稳定, 对于缺块率高的公信节点,提议销毁一定数量抵押资产。引入惩罚机制,用于解决入选的公信节点长时间不出块的情况,由系统自动除名故障的公信节点,备选节点补上。
提议实施方案:
- 增加全局参数(理事会可以通过投票,动态调整):
max_missed_rate: 最大的缺块率,如果公信节点缺块率超过max_missed_rate,将被惩罚。 建议设置为80%
reserve_num: 惩罚公信节点时,销毁的资产初始数量(从节点抵押的保证金中扣除)。建议初始设置为5 GXC
reserve_scale: 惩罚的数量呈线性增长,reserve_scale为倍数,如果第一轮被销毁 5 GXC,第二轮会乘以reserve_scale。 建议初始设置为1.25倍
-
系统每个维护周期(目前为1小时), 统计当前入选的21个公信节点的缺块率,对于超过max_missed_rate的节点,销毁其抵押资产的reserve_num GXC
-
reserve_num 由初始值,按线性增长。每次递增为原来的1.5倍。如果上一轮被销毁 5GXC,则下一轮的惩罚将是 5 * 1.25 = 6.25 GXC, 下下轮为 6.25 * 1.25 = 7.8125 GXC。
-
目前公信节点抵押资产为1万 GXC,如果节点持续长时间缺块,系统将持续销毁其抵押资产。 抵押资产为0时,节点将被系统除名下线,被排在21名之外。以当前抵押的1万GXC为例,每小时销毁的GXC按线性增长,如果节点在持续缺块的12小时内未及时响应并排除故障,将损失约212GXC的抵押; 如果在24小时内未响应,将损失约3368 GXC; 若29小时内未响应,则将被除名。如果节点处理未抵押状态,将在持续缺块的1小时内被除名。
-
被除名下线的节点,不能参与出块。如果重新加入竞选,可以重新抵押。
-
节点被除名后,由后续的备选节点按得票排名补上,参与下一轮的出块。
-
发生整个网络运行不稳定时(1/3以上节点离线,或者因软件缺陷导致全网停止出块),如果有至少1/3以上节点的缺块率都在max_missed_rate以上,自动关闭惩罚机制。待网络恢复正常后,惩罚机制自动开启。
关于节点缺块率的计算:
GXChain目前每小时出块1197个,21个节点,平均每个节点出块57个。以最高缺块率80%来算,若节点在1小时内缺块数量超过45个,则会被系统惩罚。