Skip to content
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

关于零出块和双签处罚 Proposal discussion: adjustment of zero block produce and double-signing slash. #1782

Open
nodeasy opened this issue May 18, 2021 · 6 comments
Labels
PIP Improvement
Projects

Comments

@nodeasy
Copy link

nodeasy commented May 18, 2021

提案背景:目前PlatON主网验证人数量已经达到200+个,相比于其他公链,PlatON的零出块处罚较大而双签处罚偏低,在遇到网络波动等情况下,短时间内会造成验证人自抵押金额的较大损失;综合公链安全和节点群中其他验证人的意见后,我们发起如下提案:
涉及相关的治理参数和我们建议的修改值如下:

Proposal background: At present, the number of PlatON mainnet validators has reached 200+. Compared with other Blockchains, the Zero Produce panalty of PlatON is too high and double-signing penalty is comparatively too low, which will cause a large loss of the validator's self-stakes when facing infrastructure problems; in the comprehensive of the chain's safty and other validators' opinions, we initiated the following proposal:

The proposal parameters and our suggested changes values are as follows:

  1. slashBlocksReward (出块率为0,削减的块奖励数量)
    当前值:2,500,建议修改:25
    当前出块奖励约 4. 43 LAT,则零出块处罚为 2,500 * 4.43 = 11,075 LAT 约为节点最低自抵押的11%
    修改后处罚为 25 * 4.43 = 110.75 LAT 约为最低自抵押的0.1%
    slashBlocksReward (Slash the number of block rewards(block rate=0%))
    Current value: 2,500, Suggest changes: 25
    The current block reward is about 4.43 LAT, Then the zero block penalty is 2,500 * 4.43 = 11,075 LAT. 11% of the node minimum self-delegate.
    The revised penalty is 25 * 4.43 = 110.75 LAT, which is approximately 0.1% of the minimum self-delegate.

  2. zeroProduceCumulativeTime(零出块持续的共识轮数,并在该时间内进行零出块次数的累计)
    当前值:20,建议修改:50
    20 轮共 430 * 20 = 8,600 秒 (约2.38小时),修改为 50 后约 5.97 小时
    ZeroProduceCumulativeTime (Penalty threshold: Maintaining the consensus round number of zero production blocks, and accumulate times)
    Current value: 20, Suggest changes: 50
    20 epoch total 430 * 20 = 8,600 seconds (~2.38 hours), ~5.97 hours after modification to 50.

  3. zeroProduceNumberThreshold (零出块次数处罚阈值)
    当前值:1,建议修改:2
    Zero Produce Number Threshold (Penalty threshold: Number of zero production blocks.)
    Current value: 1, Suggest changes: 2

  4. zeroProduceFreezeDuration(节点零出块惩罚被锁定时间(一个结算周期10750blocks))
    当前值:56(约7天),建议修改:8(约24小时)
    zeroProduceFreezeDuration (The lock time of node zero out-block penalty (1 epoch=10750blocks))
    Current value: 56 (~7 days), Suggest changes: 8 (~24 hours)

  5. slashFractionDuplicateSign (双签举报处罚节点自有质押金比例(‱))
    当前值:10,建议修改:2000
    双签处罚从万10大幅提高到20%
    slashFractionDuplicateSign (Slash ratio of DoubleSign(‱))
    Current value: 10, Suggest changes: 2000
    Double-sign increased 20‱ from 10‱

以上仅为节点易建议的治理参数阈值,希望大家踊跃提出建议,达成共识之后届时再发起提案
相关治理参数可见 https://scan.platon.network/governable-parameter

The above are reasonable thresholds for governance parameters calculated by Nodeasy. We hope that everyone could make suggestions and initiate a proposal after reaching a consensus.
Related governance constants: https://scan.platon.network/governable-parameter

@biganxin
Copy link

The core principle is to ensure that the blockchain network is secure,
Wthout adequate security, greater losses will be incurred.
Welcome to discuss

@nodeasy
Copy link
Author

nodeasy commented May 19, 2021

这个提案的初衷是:如何惩罚作恶的节点和如何让想参与PlatOn生态的节点在出现状况之后快速的恢复。

@benbaley
Copy link
Member

benbaley commented May 19, 2021

Slashing并不会让某个人或组织受益,所以处罚永远不是目的,只是为了维护网络安全的一种手段。
站在安全性的角度看,通过严格的“制度”约束节点行为在目前的阶段不失为保障网络安全的有效手段,而Slashing无疑是一种有效的制度。所以Slashing不可或缺,至少这看起来是更通用的做法。
如果处罚过轻, 个别负责维护网络安全的validators可能会在维护维护节点正常运行上减少投入,这对网络安全无益,对其他专业节点来说更不公平。
从Alaya运行半年时间来看, 先后有47次出现节点被处罚,而在这些处罚案例中,节点因没有实际出块的次数更是超过160次,正是由于处罚较轻使节点疏于管理,给网络带来不稳定因素。
因此我个人的观点不支持从处罚额度、锁定期、累积次数等降低处罚力度,而是站在网络中用户的角度思考,如何做到更安全、更稳定。
近期以太坊社区关于gas优化的提案1559也曾遭到部分矿工的强烈反对,站在矿工角度, 他们觉得利益受损,所以反对,而站在用户和开发者角度, 他们认为改善了网络拥堵,gas费会降低,所以他们支持,但最终核心开发者和大部分矿工达成了一致,原因很简单:整个网络最终是给用户来用的,而不是以矿工获利为存在的目的, 如果失去了用户,整个网络也将失去价值,矿工也更无利可图。
Slashing does not benefit a person or an organization, so Slashing is never the purpose, but a means to maintain network security.
From a security point of view, a strict "institution" to regulate the behavior of nodes is an effective means to ensure network security at this stage, and Slashing is certainly an effective system. So Slashing is indispensable, or at least it seems to be the more common practice.
If the slashing is too light, individual validators responsible for maintaining network security may invest less in maintaining the normal operation of the maintenance nodes, which is not beneficial to network security, and more unfair to other professional nodes.
In the 6 months of Alaya's operation, there were 47 times that nodes were slashed, and in these cases, the number of times that nodes were not actually producing block was more than 160, which was due to the light slashing that nodes were negligent in management and brought instability to the network.
Therefore, my personal view does not support lowering the slashing from the amount, locking period, cumulative times, etc. Instead, I think from the perspective of users in the network, how to achieve more security and stability.
The recent proposal 1559 on gas optimization by the ethereum community was also strongly opposed by some miners. From the miners' point of view, they feel that their interests are damaged, so they oppose it, while from the users' and developers' point of view, they think that the gas fee will be lowered if the network congestion is improved, so they support it.But in the end, the core developers and most miners agreed on a simple reason: the entire network is ultimately for the users, not for the miners to make a profit, and if we lose the users, the entire network will lose its value and the miners will be even less profitable.

@wjdfx
Copy link

wjdfx commented May 19, 2021

按我的理解,slashing是分两种情况:
一种是在规定时间内没有出块,一种是由于双签因素。

在规定时间内没有出块,PlatON是所有网络中我见过最严格的,而且惩罚利度也是最高的。200个节点,有个别节点掉线再离线这挺正常的,我理解不会对网络造成大波动。因为离线就10%的惩罚,这个确实太高了。

理论上节点出现了问题,因为他持有网络百分比的委托,应该让他经快的恢复到网络中,因为节点还有它人的委托,再者离线久了委托给验证人的投票也会撤离的。

我同意惩罚不是目的,而是一种手段。但是现在来看做为验证人确实太难维护了,也可以调整的更友好一点。

双签惩罚严格这个问题,众观所有PoS网络,双签这个应该是最严格的,因为它才会对整个网络造成具大影响,篡改区块记录,这个应该惩罚的最多吧。

PS:从扣除抵押部分来看,我一直是感觉现在的网络是把这丢块和双签两个惩罚的力度搞反了。有太多合理的PoS网络可以参考。

@benbaley benbaley added the PIP Improvement label May 19, 2021
@benbaley
Copy link
Member

PS:从扣除抵押部分来看,我一直是感觉现在的网络是把这丢块和双签两个惩罚的力度搞反了。有太多合理的PoS网络可以参考。

嗯,双签处罚比例确实过低,不过这个参数可以简单的通过治理提案来修改。

@benbaley benbaley added this to In progress in v1.1 May 20, 2021
@benbaley
Copy link
Member

按我的理解,slashing是分两种情况:
一种是在规定时间内没有出块,一种是由于双签因素。

在规定时间内没有出块,PlatON是所有网络中我见过最严格的,而且惩罚利度也是最高的。200个节点,有个别节点掉线再离线这挺正常的,我理解不会对网络造成大波动。因为离线就10%的惩罚,这个确实太高了。

理论上节点出现了问题,因为他持有网络百分比的委托,应该让他经快的恢复到网络中,因为节点还有它人的委托,再者离线久了委托给验证人的投票也会撤离的。

我同意惩罚不是目的,而是一种手段。但是现在来看做为验证人确实太难维护了,也可以调整的更友好一点。

双签惩罚严格这个问题,众观所有PoS网络,双签这个应该是最严格的,因为它才会对整个网络造成具大影响,篡改区块记录,这个应该惩罚的最多吧。

PS:从扣除抵押部分来看,我一直是感觉现在的网络是把这丢块和双签两个惩罚的力度搞反了。有太多合理的PoS网络可以参考。

建议先将双签处罚比例提升到10%,对于零出块处罚,在没充分论证利弊的情况下先保持不变吧

@benbaley benbaley changed the title 关于零出块和双签处罚的讨论 Proposal discussion: adjustment of zero block produce and double-signing slash. 关于零出块和双签处罚 Proposal discussion: adjustment of zero block produce and double-signing slash. Feb 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PIP Improvement
Projects
No open projects
v1.1
In progress
Development

No branches or pull requests

4 participants