BSC验证者双签惩罚机制详解
一、什么是双签(Double Sign)?
1.1 基本概念
1.2 具体示例
正常情况下的区块生成:
区块高度: 100
验证者A 只能对一个区块进行签名
Block_100_A -----> 签名一次
双签作恶情况:
区块高度: 100
验证者A 对两个不同的区块都进行了签名
Block_100_A -----> 签名
Block_100_B -----> 签名
1.3 危害
- 同一高度出现多个被签名的区块
- 其他节点无法判断真实区块
- 区块链分叉
- 网络共识被破坏
正常情况:
高度100:A -> B -> C(单一链)
双签后:
高度100:A -> B1 -> C1
A -> B2 -> C2
(链分叉,共识被破坏)
二、惩罚机制
2.1 惩罚代码实现
2.2 惩罚措施
- 经济惩罚:
- 罚金:200 BNB
- 属于重罪(Felony)级别惩罚
- 权限惩罚:
- 监禁时间:30天
- 监禁期间投票权重为0
- 无法参与区块验证
- 只能接受自己的质押,不能接受委托人质押
2.3 保护机制
惩罚数量限制:
// 每个区块间隔(1天)最多惩罚2个验证者
maxFelonyBetweenBreatheBlock = 2;
2.4 解除监禁条件
- 监禁时间已到期(30天)
- 自质押金额满足最低要求(2000 BNB)
三、总结
- 惩罚严厉:采用最高额度的罚金和最长的监禁时间
- 保护合理:设置每日惩罚上限,保留最后验证者
- 恢复严格:需满足时间和质押双重条件
- 目的明确:维护网络安全,防止恶意分叉

浙公网安备 33010602011771号