比特币白皮书第4节用一页纸论证了“诚实多数”的稳定性,但真实世界中的博弈远比两参与者模型复杂。本节从激励相容性、51% 攻击成本、女巫防御与能源本质四个维度,揭示 PoW 如何用经济学线索将分散个体扭结成可信共识。
5.3.1 激励相容:为什么诚实挖矿是理性最优
挖矿收益由两部分组成:
其中 为时变区块奖励, 为交易手续费。矿工的决策目标是最大化期望净收益:
为单位算力成本(电费+折旧), 为可用算力策略空间。
诚实策略即“在主链最长分支上投入全部算力并遵循协议规则”, candidacy 概率与算力份额成正比。如果攻击者试图制造无效区块,网络将拒绝该区块,其投入算力对应的电费 将完全沉没。因此,在无外部补贴的前提下,偏离协议的期望收益低于遵循协议,这是 PoW 激励相容的核心。
下面用 TypeScript 模拟不同矿工策略下的 1,000 轮收益累积:
// pow-incentive-sim.ts
// 纯内置实现,不依赖外部库
function simulateMining(
rounds: number,
honestHash: bigint, // 诚实算力(单位:H/s 的相对份额)
attackHash: bigint, // 攻击算力
blockReward: number,
costPerRoundHonest: number,
costPerRoundAttack: number,
attackSuccessProb: number // 攻击成功概率(简化模型)
): { honestProfit: number; attackProfit: number } {
let honestProfit = 0;
let attackProfit = 0;
const totalHash = honestHash + attackHash;
for (let i = 0; i < rounds; i++) {
// 诚实矿工按算力比例获得区块奖励
const honestBlocks = Number(honestHash) / Number(totalHash);
honestProfit += honestBlocks * blockReward - costPerRoundHonest;
if (Math.random() < attackSuccessProb) {
attackProfit += blockReward - costPerRoundAttack;
} else {
attackProfit -= costPerRoundAttack; // 攻击失败,成本沉没
}
}
return { honestProfit, attackProfit };
}
// 场景:诚实算力 90%,攻击算力 10%,攻击成功需要 51% 以上
const result = simulateMining(
1000, 9000n, 1000n, 6.25, 0.5, 0.8, 0.0 // 10% 攻击算力几乎无法成功
);
console.log(`Honest: {result.attackProfit.toFixed(2)}`);
// 输出示例:Honest: ~5625, Attack: ~-800(持续亏损)上表说明,在算力劣势下,攻击策略的期望收益显著为负。
5.3.2 51% 攻击的成本边界与真实约束
51% 攻击是 PoW 最广为人知的安全模型。攻击者若能控制超过全网 50% 的算力,便能在理论上实现双花。其经济学边界可量化为:
- :全网算力(如 Bitcoin ~500 EH/s)
- :矿机成本系数($/TH)
- :电力成本系数($/kWh)
- :矿机能效(J/TH)
- :攻击持续时间
但真实世界中有三个被经常忽视的约束:
- 矿机供给瓶颈:突然购置等于全网算力的 ASIC 在物理上不可行(产能约束)。
- 电力基础设施:500 EH/s 约需 5-10 GW 级电力,相当于几个大型核电站。
- 交易所与OTC风控:大额双花尝试会触发提现冻结,真实可兑现收益有限。
我们用一段简化代码估算不同链上的 51% 攻击电力日成本:
// pow-51cost-est.ts
function estimate51PercentAttackDailyCost(
globalHashRate_EHs: number, // EH/s
machineEfficiency_J_per_TH: number,
electricityCost_USD_per_kWh: number
): number {
const targetHashRate = globalHashRate_EHs * 1e18 * 0.51; // 51% 算力
const joulesPerSecond = targetHashRate * 1e-12 * machineEfficiency_J_per_TH; // J/s = W
const kW = joulesPerSecond / 1000;
const dailyKWh = kW * 24;
return dailyKWh * electricityCost_USD_per_kWh;
}
// Bitcoin: ~500 EH/s, 25 J/TH, $0.05/kWh
const btcCost = estimate51PercentAttackDailyCost(500, 25, 0.05);
console.log(`BTC 51% 日电力成本: ~{(btcCost / 1e6).toFixed(1)}M`);
// 小型链: 1 TH/s, 100 J/TH, $0.08/kWh
const smallChainCost = estimate51PercentAttackDailyCost(0.000001, 100, 0.08);
console.log(`小链 51% 日电力成本: ~{smallChainCost.toFixed(2)}`);小链的防御边界远低于大型主链,这是 PoW 安全性的规模经济本质。
5.3.3 女巫攻击与 PoW 的算力经济防线
女巫攻击(Sybil Attack)指一个实体通过伪造多个身份来放大影响力。PoW 天然抵御女巫攻击,因为:每个身份的有效性必须通过算力证明来支付“入场费”。算力是物理资源,无法无限伪造。
女巫攻击的可行性边界:
由于 ,任何无算力支撑的 ID 都没有投票权重。这与 BFT 类共识中“一节点一票”的设计形成鲜明对比,后者必须依赖准入层或质押机制来限制女巫。
5.3.4 能源争议与 PoW 的本质安全来源
PoW 的高能耗常被批评为“浪费”,但这一批评忽略了其安全本质:
PoW 的安全性来源于“不可逆的能量消耗”。 电力一旦消耗便无法回收,这使得攻击历史区块在物理上不可能——你不可能回到过去烧掉昨天的电。
这与 PoS 的“虚拟质押”形成对比:在 PoS 中,作恶者可以通过分叉恢复历史资本分配,而 PoW 的历史区块已经被真实的能量消耗永久锚定。
graph LR
A[电力消耗] --> B[ASIC 运算]
B --> C[有效区块哈希]
C --> D[不可逆历史锚定]
D --> E[攻击者无法回滚过去]
style A fill:#f9f,stroke:#333
style E fill:#9f9,stroke:#333
5.3.5 核心认知小结
| 维度 | 核心结论 |
|---|---|
| 激励相容 | 偏离协议的期望收益 < 诚实挖矿收益,前提是攻击算力 < 50% |
| 51% 成本 | 日成本百万美元级(BTC),小链可低至数百美元 |
| 女巫防御 | 算力 = 入场券,物理资源天然限制身份伪造 |
| 能源本质 | 不可逆的能量消耗 = 不可逆的历史锚定 |
关键认知:PoW 的安全性不是“算力越大越安全”,而是让攻击者在经济理性上选择诚实。当攻击成本超过攻击收益时,共识即达成。
延伸阅读与代码索引
pow-incentive-sim.ts:激励相容蒙特卡洛模拟pow-51cost-est.ts:51% 攻击成本估算器- 本章代码汇总见
ch05-summary.mdx
回到 5.2 FLP 不可能原理 ← | 前往 → 5.4 权益证明与 Casper FFG
评论
0评论加载中…