-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
提议:引入公信节点缺块率惩罚机制 #7
Comments
赞成这个提议,另加:销毁的Gxc可以补贴给备用节点。 |
不销毁抵押的保证金的方案: 如果公信节点1小时内缺块率超过max_missed_rate,强制离线。 |
基本赞成,但是除名节点的前提是有足够的备选节点一直在 standby,所以个人认为备选节点的激励机制应该和这个方案同步考虑和实施 |
另外,建议 max_missed_rate 严格一些。因为按照目前实际统计结果看,除非极端情况出现,缺块比例并不高。比如98%,或者95%? |
@cnjsstong 节点正常运行的情况下,应该在1%以下。如果 max_missed_rate 严格一些的话,我的理解是调整到80%以下,比如50% ? 而不是调整到95%或者更高。 如果调整到95%,以目前21个节点每小时共出块1197个来算,平均单个节点每小时产块57个,如果能够产生3个块以上,缺块率就低于95%了,得不到惩罚。 |
并不赞成将销毁的GXC补贴给备用节点,因为这看起来毫无根据。 |
不好意思说反了,我想说的是 即使考虑到整个网络出现波动的情况,也建议 |
我觉得这并不是毫无依据的。当选节点未能尽职履行自己的职责,需要备用节点来临时顶替,以维持网络的正常运作。在这样的情况下,将对出现问题的当选节点的惩罚,转而奖励给备用节点,还是比较顺理成章的。 目前公信节点的收益,虽然比不上 EOS 等超高的那一档,但还算是可以的。这个情况下,对当选节点要求高一些,我觉得是比较合理的。 |
为了增强GXChain网络的容错性,和保障整个网络的稳定, 对于缺块率高的公信节点,提议销毁一定数量抵押资产。引入惩罚机制,用于解决入选的公信节点长时间不出块的情况,由系统自动除名故障的公信节点,备选节点补上。
提议实施方案:
系统每个维护周期(目前为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个,则会被系统惩罚。
The text was updated successfully, but these errors were encountered: