﻿---
title: "Nothing at Stake：重复签名、罚没、最终性与旧密钥风险"
description: "Nothing at Stake 是一种权益证明激励问题：支持相互竞争历史的边际成本可能很低。应分别分析可罚没消息、预期收益、法定人数交集、证据执行、分叉选择与弱主观性假设。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nothing at Stake：重复签名、罚没、最终性与旧密钥风险

> 仅供协议分析教育参考，不构成投资、质押、验证者运营或安全建议。罚没与最终性规则因协议及版本而异，实现、密钥托管、网络状况、治理与弱主观性假设仍可能失效。

<a id="answer"></a>

## 直接回答

Nothing at Stake 是一种权益证明激励问题：如果生成额外签名的成本很低，而协议又没有为互不相容的支持施加有效代价，验证者帮助每一条竞争历史可能比只选择一条赚得更多。如果许多验证者都遵循这种私人激励，分叉便可能持续获得支持，收敛会减弱，攻击者也可能取得在工作量证明中需要高成本才能重现的签名。

这个说法不表示每个权益证明系统都没有安全预算，也不表示对落败分叉的每次投票都是违规。锁定资本、错失奖励、罚没、延迟提款、分叉选择规则与最终性规则都能改变收益。哪些签名消息与冲突会受罚取决于具体协议和版本；正常的投票更新、延迟消息或短暂的诚实分叉可能被允许。

必须分开三个问题。第一，当前仍有质押的验证者能否在近期分支间低成本重复签名？第二，不可用或对抗性的投票权重能否在不产生两条最终历史的情况下阻止进展？第三，质押可提款后，旧密钥能否伪造一条很长的替代历史？这些激励和共识风险相互关联，但证据、阈值和防御不同。

Ethereum 是有用的示例，而非通用模板。其共识规范把同一时隙的两个不同提议列为可罚没行为，并把双重投票或环绕投票的证明列为可罚没行为。分叉选择可以忽略重复签名者的影响，最终性则使用超级多数投票和处罚。其他权益证明协议族可能采用不同的领导者选择、链选择、检查点、可用性假设或形式化安全模型。

<a id="mechanism"></a>

## 如何分析 Nothing at Stake

1. **固定协议语境。** 记录 `protocol`、`version`、`network`、`epoch`、`slot`、`validator set` 和观察时间。识别正在使用的 `fork choice`、`finality gadget`、`reward rule`、`penalty rule` 与 `withdrawal delay`；“PoS”标签本身不能确定其中任何一项。
2. **定义签名动作。** 列出区块提议、证明、prevote、precommit、证书或其他消息及其域。根据引用的规则，区分只是支持不同后代的两条消息与正式可罚没的 `double proposal`、`double vote` 或 `surround vote`。
3. **建立无处罚收益模型。** 估计分支概率、规范分支奖励、额外签名与传播成本、贿赂、错失机会以及冲突消息可能获得的奖励。比较 `EV(honest)` 与 `EV(equivocate)`，不要因耗电较少就断定偏离一定有利可图。
4. **建立可执行损失模型。** 识别锁定余额、检测概率、证据有效窗口、举报路径、纳入与审查风险、初始处罚、关联处罚、退出、提款时点和放弃的未来收入。文档中写有处罚，不等于 `slashing evidence` 一定能可靠执行。
5. **分开分叉选择与最终性。** 重建最新投票、重复签名和消息时序如何影响链头，再计算证明或最终确定检查点所需的权重。分别分析 `safety threshold` 与 `liveness threshold`：扣留投票可以阻止最终性，却不必产生冲突最终性。
6. **检验旧密钥与同步假设。** 确定退出质押何时不再可处罚、在线节点会拒绝哪段最终历史、新节点或长期离线节点如何取得 `weak-subjectivity checkpoint`，以及如何验证检查点的时效与来源。这是长程问题，不只是近期双重投票。
7. **对运营与控制做压力测试。** 测试重复密钥、故障转移节点、远程签名器、数据库回滚、客户端错误、相关托管、质押池、委托托管、网络分区、eclipse 攻击与证据审查。应计算独立的控制与软件路径，而非只数验证者标识符。

输出应是一份带版本的激励与共识评估，而不是仅凭术语作出的结论。应展示密钥究竟可以签哪些消息、哪些冲突证据可客观验证、抵押品何时仍可追索、哪个阈值保护安全性、哪个阈值允许进展，以及同步节点需要什么可信状态。

<a id="example"></a>

## 计算示例

### 1. 无处罚策略可能偏向两个分支

假设两个分支中恰有一个成为规范链，分支 A 的概率为 `0.55`，分支 B 的概率为 `0.45`。规范分支上的签名赚取 `1.00 unit`，落败分支的签名收益为零。忽略所有处罚和新增运营成本，只签 A 得到 `EV(A only) = 0.55 * 1.00 = 0.55 units`；两个都签得到 `EV(sign both) = (0.55 + 0.45) * 1.00 = 1.00 unit`。

这个算式说明激励问题，并不是质押收益预测。它假定无论哪条分支获胜，两个签名中规范分支上的一个都会获得奖励；这些行为受允许或未执行处罚；分支结果互斥；验证者也不会产生价格、声誉、延迟或未来收入损失。

### 2. 可执行罚没可以逆转收益

保留 `1.00 unit` 的规范分支毛奖励，再加入 `0.02 unit` 的重复签名贿赂。假设有效证据以 `0.80` 的概率到达处罚机制，可归因总损失为 `5.00 units`。简化收益为 `EV(equivocate) = 1.00 + 0.02 - (0.80 * 5.00) = -2.98 units`，低于只签 A 的 `0.55 units`。

如果检测、纳入、可追索抵押品或未来收入不同，结果也会改变。真实处罚可能取决于有效余额、关联违规、时间与协议状态。运营者应对结果分布建模并确认实现路径；把三个自选数字相乘不能证明已部署系统具有激励相容性。

### 3. 法定人数交集保护安全性，却可能暴露活性

考虑 `100 stake units`，最终性投票至少需要 `67 units`。任意两个这样的法定人数至少重叠 `67 + 67 - 100 = 34 units`。因此，两条冲突最终历史要求至少 34 个单位同时参与两份法定人数证书；可问责协议可以让这段交集构成可证明的罚没行为。

同一阈值对活性有不同含义。如果 `34 units` 扣留有效投票，只剩 `66 units`，低于 67，最终性便可能停滞。这 34 个单位本身无法最终确定两个分支。安全性失效、可问责证据与无法进展不能被描述成同一事件。

### 4. 旧密钥形成不同的同步问题

假设在线节点已经最终确定检查点 `epoch 39,900`，而新节点没有可信状态。攻击者获得了在 `epoch 10,000` 左右控制足够质押的密钥；这些验证者已经退出，抵押品也无法追索，随后攻击者伪造替代历史直到 `epoch 40,000`。廉价历史签名确实相关，但近期验证者罚没可能已无法威慑这些旧密钥。

在线节点会拒绝与其最终视图冲突的历史。新节点需要一个近期已认证检查点或等效协议规则，才能区分历史并继续客观验证。因此，弱主观性与提款时点必须纳入审查，但仍应与当前锁定验证者的实时重复签名分开分析。

<a id="risks"></a>

## 风险与审查失败

### 协议与证据错误

- 未核对精确签名字段与域，就把非规范分叉上的每次投票都称为可罚没。
- 把分叉、重组、错过提议、延迟投票和可证明重复签名视为同一事件。
- 把 Ethereum 的提议者和证明者条件套用于消息或最终性规则不同的协议。
- 比较所谓冲突签名时，遗漏链身份、分叉版本、epoch 或 slot。
- 在缺少验证者身份、域、祖先关系和有效密码学的情况下，假定两个签名即可证明违规。
- 混淆分叉选择影响、证明、最终确定与应用层结算。
- 阅读规范中的安全性定理，却忽略其同步性、诚实性、可用性和对手假设。

### 激励与执行错误

- 只说签名便宜，却不计入锁定损失、错失奖励与未来收入。
- 把名义最大罚没额当成每种状态下的预期可追索损失。
- 假定证据在提款前总会被观察、传播、纳入并处理。
- 忽视提议者审查、网络分区、eclipse 隔离与证据窗口到期。
- 在概率、贿赂和损失均未测量时，用玩具期望值作为证明。
- 忽视关联处罚、代币价格变化、对冲、外部贿赂与攻击方收益。
- 假定已退出验证者的旧密钥仍有当前可罚没抵押品支持。

### 运营、集中与恢复错误

- 在故障转移节点上运行同一签名密钥，却没有持久共享的防罚没保护。
- 从过时备份恢复签名器或罚没数据库，重新产生曾经签过的冲突。
- 尽管共享托管、客户端、云或治理控制，仍把验证者密钥视为独立运营者。
- 假定委托质押者不会承担运营者、资金池或再质押依赖导致的损失。
- 恢复长期离线节点时，只信任单个浏览器、提供商或捆绑检查点。
- 只凭质押参与率高就宣称安全，而不分析质押分布、阈值与控制。

<a id="misconceptions"></a>

## 常见误解

- **权益证明真的没有任何风险资本。** 设计良好的系统可以让锁定资本、奖励与未来参与面临损失；问题是这些成本对相关偏离是否足够且可执行。
- **验证者在两个分叉上的每条消息都是双重投票。** 可罚没性取决于协议的消息字段、域与冲突规则；诚实的分叉选择更新必须有发生空间。
- **罚没保证共识。** 罚没提供问责和激励，但安全性与活性还取决于阈值、网络、实现、密钥安全与诚实行为假设。
- **三分之一质押可以独自最终确定两个分支。** 在三分之二最终性设计中，约三分之一通常能阻止进展；冲突最终性需要相互重叠的超级多数，并要求其交集参与可罚没行为。
- **Nothing at Stake 与长程攻击完全相同。** 两者都利用廉价签名，但前者关注对竞争分支的实时支持，后者可用历史密钥攻击缺少近期可信状态的节点。

<a id="related"></a>

## 相关主题

- [权益证明](/zh-cn/crypto/proof-of-stake/)
- [罚没](/zh-cn/crypto/slashing/)
- [分叉选择规则](/zh-cn/crypto/fork-choice-rule/)
- [最终性](/zh-cn/crypto/finality/)
- [长程攻击](/zh-cn/crypto/long-range-attack/)

<a id="sources"></a>

## 来源

- [Blockchain Technology Overview](https://doi.org/10.6028/NIST.IR.8202) - NIST（访问日期：2026-08-19）
- [Formal Barriers to Longest-Chain Proof-of-Stake Protocols](https://economics.princeton.edu/working-papers/formal-barriers-to-longest-chain-proof-of-stake-protocols/) - Princeton University（访问日期：2026-08-19）
- [Ethereum Consensus Specifications: Validator](https://github.com/ethereum/consensus-specs/blob/master/specs/phase0/validator.md) - Ethereum Foundation（访问日期：2026-08-19）
- [Ethereum Consensus Specifications: Beacon Chain](https://github.com/ethereum/consensus-specs/blob/master/specs/phase0/beacon-chain.md) - Ethereum Foundation（访问日期：2026-08-19）
- [Casper the Friendly Finality Gadget](https://eips.ethereum.org/assets/eip-2982/arxiv-1710.09437-Casper-the-Friendly-Finality-Gadget.pdf) - Ethereum Improvement Proposals（访问日期：2026-08-19）
- [Ethereum Proof-of-Stake Attack and Defense](https://ethereum.org/developers/docs/consensus-mechanisms/pos/attack-and-defense/) - Ethereum.org（访问日期：2026-08-19）
- [Weak Subjectivity](https://ethereum.org/developers/docs/consensus-mechanisms/pos/weak-subjectivity/) - Ethereum.org（访问日期：2026-08-19）
- [Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol](https://eprint.iacr.org/2016/889) - IACR Cryptology ePrint Archive（访问日期：2026-08-19）

Source: https://wiki.fcontext.com/zh-cn/crypto/nothing-at-stake/index.mdx
