什么是 Equivocation?
Equivocation 是指区块链协议的参与者在相同轮次或高度为同一位置签署并发送冲突信息,例如同时支持两个不同的提案。把它想成数字版的两面说法:向两个群聊发送同一晚不同的聚会地点,并指望没人进行核对。
“Equivocation is just a random network hiccup.” 不完全正确。要发生这种情况,需要签名者,通常是 验证者,对相同的槽位或高度产生冲突签名。
Equivocation 如何运作
下面是不用费神就能想象的简要流程。
- 步骤 1: 一个验证者被安排在某轮中提出提案或投票。
- 步骤 2: 而不是只发一条消息,他们在相同高度为两个不同的提案或投票签名,引用不同的 区块。
- 步骤 3: 节点间会传播这些消息。有人发现这两份签名都绑定到相同的密钥和相同的轮次。
- 步骤 4: 该人就会生成证据,展示重复的签名集合。
- 步骤 5: 网络记录证据并执行惩罚,通常会没收奖励并降低信誉。
就是这么回事。
为什么 Equivocation 很重要
因为共识是团队合作,双重发言会破坏团队合作。
- 好处: 及时发现 Equivocation 可保护链的终结性和你的资产,免受混乱回滚之害。
- 视角: 现代权益证明系统在共识机制层面内置规则以识别并惩罚它。
- 相关性: 你会在质押文档、验证者设置指南和网络异常后的事件报告中看到它的提及。
如果你运行节点,保持只有一个活跃签名者并启用双重签名防护。Equivocation 可能触发 惩罚(slashing),因此使用独立密钥、哨兵设置和谨慎的故障切换是值得的。
Equivocation 的主要特征
其特点包括:
- 重复: 相同的验证者密钥在同一轮次或高度为两条冲突消息签名。
- 可检测: 通过比对签名和元数据,可证明存在证据。
- 会被惩罚: 协议规则通常会削减奖励、没收质押并暂停参与。
变体
在不同协议中会出现不同形式:
- 提案: 在相同高度签署两个提案。
- 投票: 在一轮内为不同父块投出两票。
- 终结性组件: 在像 Casper 或 Grandpa 这样的终结性组件中出现冲突投票。
- 备份: 使用旧密钥备份运行重复节点,导致意外的双重签名。
大多数 Equivocation 事件是可以预防的。即使无意作弊,使用相同密钥运行两个实例也很容易被标记。
示例
一个验证者为高度 12,345 签署了两个不同的提案并分别发送给不同的节点,签名比对后暴露出 Equivocation。
趣闻
该词源自逻辑学和修辞学,指用一个具有两种含义的术语来回避责任。加密领域沿用该概念,并将其变成密码学上的问题。
总结
一句话总结:Equivocation 即双重签名,网络严格反对这是有充分理由的。
