PlatON节点伙伴们,大家好:
PlatON网络1.1.2(伽利略Galileo)版本已经可以升级,请伙伴们按照以下的升级操作手册执行升级:
版本内容(中文)
伽利略(v1.1.2) 版本是核心开发团队针对近期验证节点反馈的节点问题PlatON-issue-1880的修复版本。
bug修复
- 修复因使用全局的随机数对象在并发情况下的数据不一致问题PlatON-issue-1880
说明
当随机数种子被并发污染时,出块节点所提议的区块在验证节点上验证时日志中会出现BAD BLOCK,有3种情况:
- 如果节点出的第一个块没有受到影响,后续出的块中出现过Seed被污染,则影响节点出块率 (被最终确认的区块少于预期10)
- 如果第一个块就被污染,因Giskard共识机制,出块后没有确认即可出下个区块,该场景下节点的所有区块都将得不到确认,最终将导致节点被处罚(0出块)
- 对于非出块节点,因验证区块时Seed可能被污染,因此验证区块不通过, 因此会降低共识整体容错性(被污染节点没投票)
基于以上因素, 强烈建议节点立即升级。
Releasenote(English)
The Galileo (v1.1.2) release is a hotfix for an online issue #1880 that could cause verifier nodes to be slashed.
Bug-fixes
- Fix data inconsistency in concurrent cases due to the use of global random instance PlatON-issue-1880
Notes
When the seed of a random instance is contaminated by concurrency, there will be a ‘BAD BLOCK’ in nodes’ log and the block will not be verified, which should result in the proposer’s block cannot receiving enough votes.
- If the wrong block is not the first of the current proposer, the proposer’s block rate will be very low (fewer than the expected 10 blocks are finally validated)
- If it is the first, due to the Giskard consensus mechanism, the next block can be proposed without confirmation, and all blocks of the node in this round will not be confirmed, which will eventually lead to the node being slashed (0 blocks proposed)
- For other verifiers, the verification of the block may not be passed because the seed contaminated during the verification , thus reducing the overall fault tolerance of the consensus (contaminated nodes do not vote).
- Due to the above factors, it is strongly recommended that all verifiers upgrade your node immediately.