Skip to content

提议:引入公信节点缺块率惩罚机制 #7

@secp256

Description

@secp256

为了增强GXChain网络的容错性,和保障整个网络的稳定, 对于缺块率高的公信节点,提议销毁一定数量抵押资产。引入惩罚机制,用于解决入选的公信节点长时间不出块的情况,由系统自动除名故障的公信节点,备选节点补上。

提议实施方案:

  1. 增加全局参数(理事会可以通过投票,动态调整):
max_missed_rate: 最大的缺块率,如果公信节点缺块率超过max_missed_rate,将被惩罚。 建议设置为80%

reserve_num: 惩罚公信节点时,销毁的资产初始数量(从节点抵押的保证金中扣除)。建议初始设置为5 GXC

reserve_scale:  惩罚的数量呈线性增长,reserve_scale为倍数,如果第一轮被销毁 5 GXC,第二轮会乘以reserve_scale。 建议初始设置为1.25倍

  1. 系统每个维护周期(目前为1小时), 统计当前入选的21个公信节点的缺块率,对于超过max_missed_rate的节点,销毁其抵押资产的reserve_num GXC

  2. reserve_num 由初始值,按线性增长。每次递增为原来的1.5倍。如果上一轮被销毁 5GXC,则下一轮的惩罚将是 5 * 1.25 = 6.25 GXC, 下下轮为 6.25 * 1.25 = 7.8125 GXC。

  3. 目前公信节点抵押资产为1万 GXC,如果节点持续长时间缺块,系统将持续销毁其抵押资产。 抵押资产为0时,节点将被系统除名下线,被排在21名之外。以当前抵押的1万GXC为例,每小时销毁的GXC按线性增长,如果节点在持续缺块的12小时内未及时响应并排除故障,将损失约212GXC的抵押; 如果在24小时内未响应,将损失约3368 GXC; 若29小时内未响应,则将被除名。如果节点处理未抵押状态,将在持续缺块的1小时内被除名。

  4. 被除名下线的节点,不能参与出块。如果重新加入竞选,可以重新抵押。

  5. 节点被除名后,由后续的备选节点按得票排名补上,参与下一轮的出块。

  6. 发生整个网络运行不稳定时(1/3以上节点离线,或者因软件缺陷导致全网停止出块),如果有至少1/3以上节点的缺块率都在max_missed_rate以上,自动关闭惩罚机制。待网络恢复正常后,惩罚机制自动开启。

关于节点缺块率的计算:
GXChain目前每小时出块1197个,21个节点,平均每个节点出块57个。以最高缺块率80%来算,若节点在1小时内缺块数量超过45个,则会被系统惩罚。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions