词条 · 加密与分布式 · 核心
51% 攻击
攻击者算力超过全网一半后,可以重写最近的历史。
也称:51% 攻击、51%攻击、51% attack、majority attack、多数算力攻击、51
一句话
如果一个人的算力超过全网诚实算力的总和,他就能持续造出比诚实链更长的链,从而把最近的交易记录改掉——通常是为了把已经付出去的钱重新花一遍。
它能做什么,不能做什么
先划清范围,因为夸大的说法太多了。
能做的:
做不到的:
- 偷走不属于他的币。花钱需要私钥,算力再多也伪造不出签名
- 凭空增发超出协议规定的币,其他节点会直接拒绝这种区块
- 改掉很久以前的交易。要改第 100 个区块,就得把第 101 块之后的所有工作量重做一遍,同时还要跑得比全网更快
所以”51% 攻击”的准确描述是重排最近的历史,不是”控制整条链”。
术语考古:白皮书里没有 51 这个数字
关键事实:51% 在白皮书里出现 0 次。字符串 51 一次都没有。
白皮书说的是两件事。一是文字条件:
As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they’ll generate the longest chain and outpace attackers.
二是数学条件,第 11 节用 p 和 q 表示——p 是诚实节点找到下一个区块的概率,q 是攻击者的。整节的推导建立在 p > q 上。
这两种写法都没有给出一个整数门槛。而”51%“这个说法是后人为了方便传播造出来的,它带来一个真实的误解。
为什么 51% 是个误导性的门槛
概率是连续的,不是开关。攻击在 50% 以下同样可能成功,只是要等更久、更靠运气。白皮书第 11 节自己列了一张表,给出”攻击者成功概率低于 0.1% 所需的确认数 z”:
- q = 10% → z = 5
- q = 15% → z = 8
- q = 20% → z = 11
- q = 25% → z = 15
- q = 30% → z = 24
- q = 35% → z = 41
- q = 40% → z = 89
- q = 45% → z = 340
看最后一行。攻击者只有 45% 算力,远不到”51%“,但只要商家等的确认数少于 340,风险就超过 0.1%。而现实中几乎没人等 340 个确认——按 10 分钟一块算,那是两天多。
反过来看 q = 10% 那一行:即便只有一成算力,等 4 个确认仍然不够安全。所以正确的心智模型不是”到了 51% 才危险”,而是攻击成功率随算力占比连续上升,安全性由算力占比和确认数共同决定。
50% 的特殊之处只在于它是极限的位置:一旦超过,成功概率收敛到 1,等多少确认都无济于事——这是白皮书里那句”attacker’s success probability approaches 1”的含义。它是渐近性质的分界,不是安全与不安全的开关。
边界与常见误解
51% 不是协议里的参数。 代码里没有任何一处写着 51 或 0.51。它是从随机过程的行为里浮出来的一个渐近边界。
攻击成本不只是硬件。 攻击者在攻击期间放弃了诚实挖矿的收益,攻击成功还会砸掉自己持有资产的价值。白皮书第 6 节结尾正是这个论证:按规则玩比破坏系统更有利可图。
小链上这不是理论问题。 算力占比是相对的。对一条总算力很小的链,租用算力就能凑到多数,历史上已经发生过多次。安全性来自算力的绝对规模,不是来自”用了工作量证明”这件事本身。
提到这个词条的文章
- 比特币白皮书逐节拆解经典拆解 2026-07-31
- 素数判定属于 P 逐节拆解经典拆解 2026-07-31
- 通信的数学理论逐节拆解经典拆解 2026-07-31