仅供教育参考,不构成投资建议;投资可能造成损失。
直接回答
当一方控制了足够的共识权力,能够稳定地超过诚实网络并重组近期区块链历史时,就会发生 51% 攻击。
在工作量证明(PoW)链上,这个术语通常指控制大多数活跃算力。攻击者可以构建一条累计工作量大于诚实分支的竞争分支,并使节点改为采用该分支。“51%” 是持续优势的简称,并不是适用于所有情形的开关:算力较少的攻击者有时也可能凭概率重组确认较浅的区块,而短暂拥有多数算力并不保证攻击能够获利。
这个标签不应机械地套用到权益证明(PoS)上。投票阈值、分叉选择、最终性、怠惰惩罚和罚没都因协议而异。例如,Ethereum 文档说明了约 33%、34%、51% 和 66% 质押占比会产生不同后果。关键始终是明确所讨论的共识规则和攻击目标。
- 对抗方占比
- 25%
- 距阈值余量
- 25%
结果是教育用途的近似值。除非明确展示,否则未计入交易场所规则、税费、延迟、预言机行为及其他协议参数。
工作原理
PoW 节点只接受有效区块,并跟随累计工作量最多的有效分支。拥有多数算力的攻击者不能让无效签名变得有效,也不能在协议规则之外创造代币。但攻击者可以私下挖掘一条冲突但有效的分支,并在它超过公开分支后将其公布。
典型的双花过程如下:
- 攻击者在公开链上向商家或交易所付款,同时私下挖掘一条把同一批代币花到别处的分支。
- 收款方等待确认,然后交付商品或允许提款。
- 如果私有分支积累了更多工作量,攻击者就将其公布。节点重组到该分支,原付款会从被接受的历史中消失。
每增加一次确认,诚实分支的领先幅度就更大。当攻击者的算力低于诚实网络时,随着领先幅度扩大,追赶成功的概率会降低;如果持续掌握多数算力,攻击者长期来看能够稳定超过诚实分支。确认可以降低风险,但无法形成绝对最终性。
同样的控制权也可用于审查或延迟特定交易、重新排列近期交易以及干扰确认。它不能窃取由他人私钥保护的代币、花费不属于攻击者的代币,也不能迫使全节点接受违反共识规则的区块。
示例
假设一个用于说明的小型 PoW 网络拥有 1 TH/s 的诚实算力。攻击者可以租用 1.2 TH/s,价格为每小时 $20,000,在租赁期间获得约 54.5% 的算力,占合计 2.2 TH/s。攻击者向交易所存入价值 $200,000 的代币,同时挖掘一条包含冲突支出的私有分支。
如果交易所在 10 个区块后,即这条假设链上约 20 分钟后记入该笔存款,攻击者可能在公布私有分支前提取另一种资产。租用两小时需要 $40,000,但这个数字并不是攻击者的利润。交易手续费、滑点、执行失败、提款冻结、攻击被发现以及被攻击资产价格下跌,都可能使这次尝试无利可图。
如果交易所把要求提高到 200 个区块,攻击者必须维持竞争分支更长时间。按照假设的两分钟出块间隔,确认时间约为 6 小时 40 分钟。攻击会变得更昂贵、更容易被发现,正常客户也要等待更久。因此,确认策略是在结算速度和重组风险之间进行权衡。
风险与控制措施
最容易受到攻击的是近期发生的高价值付款,因为它们可能在运营方作出反应前被转换或提取。要重写数千个区块之前的历史,就必须重新完成之后的全部工作并超过实时运行的链,因此实际攻击通常集中于短暂但价值较高的时间窗口。
经济安全性不仅取决于代币的市值。相关因素包括可租用算力、专用硬件供应、电力和协调成本、矿池集中度、区块奖励、市场流动性,以及收款方在确认后放行的价值。矿池集中是一个警示信号,但矿池运营方不一定拥有矿工的设备;矿工可以把算力转向其他地方。
收款方和基础设施运营方可以通过以下方式降低风险:
- 根据交易价值和当前网络状况设置确认要求;
- 监控竞争分支、异常算力变化和深度重组;
- 在重组风险上升时暂停存款或提款;以及
- 限制在一个确认窗口内可以离开的不可逆价值。
这些控制措施可以降低预期损失,但没有任何一种措施能让基于概率的 PoW 结算在数学上不可逆。
常见误解
误解 1:攻击者必须恰好拥有 51.0%
不是。即使低于 50%,攻击者仍可能凭概率追上,尤其是在落后幅度较小时,但随着确认累积,成功概率会下降。高于 50% 时,持续控制算力会给攻击者带来预期的长期优势。持续时间、网络状况、成本和所选目标仍然重要。
误解 2:多数算力可以偷走所有代币
不是。共识权力影响选择哪一段有效历史;它不会泄露私钥,也不能授权无效支出。多数攻击者主要获得的是撤销自己近期付款、审查交易和重新排列近期区块的能力。
误解 3:固定的确认次数始终安全
不存在适用于每条链或每笔付款的固定次数。风险取决于攻击者可获得的算力、诚实网络的安全预算、交易价值、检测与响应时间,以及收到的资产能够多快被提取或转换。
相关主题
来源
- Bitcoin: A Peer-to-Peer Electronic Cash System - Bitcoin.org(查阅日期:2026-08-20)
- Block Chain - Bitcoin Developer Guide(查阅日期:2026-08-20)
- Proof-of-stake attack and defense - Ethereum.org(查阅日期:2026-08-20)