区块链攻击:51% 攻击、双花及更多
区块链技术以安全性著称,但并非无懈可击。了解威胁区块链网络的攻击向量,对于任何持有或交易加密货币的人都至关重要。虽然区块链协议本身已被证明非常有韧性,Bitcoin 在协议层面从未被成功攻击,但更广泛的生态系统(钱包、交易所、跨链桥和智能合约)始终面临持续威胁。
本指南系统梳理区块链攻击的主要类别,解释其运作方式,提供真实案例,并给出保护资产的实用建议。
协议层攻击
这类攻击直接针对区块链协议本身,包括共识机制、网络拓扑或密码学基础。
51% 攻击(多数攻击)
当单一实体或协同团体控制了某个 Proof of Work 网络超过 50% 的算力(或在 Proof of Stake 网络中根据攻击类型控制超过 33%/67% 的质押)时,就会发生 51% 攻击。
运作方式:
- 攻击者积累多数算力,方式包括自建/购买矿机,或通过 NiceHash 等服务租用算力。
- 攻击者开始挖私有链,即仅自己知晓的区块链分叉。
- 在公有链上,攻击者向交易所发送加密货币,并卖成法币或其他加密资产。
- 一旦交易所入账,攻击者广播其私有链,该链比公有链更长(累计工作量更高)。
- 网络会将更长链视为有效链,攻击者原始交易消失,资金回到攻击者钱包。
- 攻击者实际上完成了双花:一次在交易所卖出获得付款,一次在私有链上拿回币。
51% 攻击成本:
| Network | Estimated 1-Hour Attack Cost (2026) |
|---|---|
| Bitcoin | $10+ billion (practically impossible) |
| Ethereum (PoS) | $30+ billion (acquire 33% of staked ETH) |
| Litecoin | ~$500K-$1M |
| Bitcoin Cash | ~$100K-$300K |
| Ethereum Classic | ~$10K-$50K |
真实案例:
- Ethereum Classic(2019、2020):遭受多次 51% 攻击,造成数百万美元双花损失。
- Bitcoin Gold(2018、2020):多次遭攻击,其中一次造成 70,000+ 美元双花损失。
- Verge(2018):因其多算法 PoW 设计遭受多次攻击。
关键洞察:51% 攻击主要威胁较小的 PoW 链。Bitcoin 的算力规模巨大,使 51% 攻击在经济上不可行。对 Ethereum 这类大型 PoS 链而言,获取足够质押的成本(以及因 slashing 被罚没的确定性)同样使攻击不现实。
双花攻击(Double-Spending Attack)
双花(用同一笔资金发起两笔不同交易)是区块链要解决的核心问题。51% 攻击是双花的一种方式,但在小额场景下还存在其他技术:
竞速攻击(零确认):
- 攻击者向商家发送一笔低手续费交易。
- 同时,攻击者向自己发送一笔冲突交易(花同一笔币),并设置更高手续费。
- 如果商家在交易确认前就收款,更高手续费交易更可能先确认,商家那笔付款会消失。
Finney 攻击:
- 矿工预先挖出一个包含“转给自己”交易的区块。
- 随后向商家发送冲突交易。
- 在收到商品/服务后,矿工发布预挖区块,使商家收款失效。
防护:在将交易视为最终完成前,务必等待足够的区块确认。对大额交易,6 个 Bitcoin 确认或 Ethereum finalization(约 15 分钟)可提供强保护。
自私挖矿(Selfish Mining)
自私挖矿是一种策略:拥有显著(但非多数)算力的矿工暂不公布已发现区块,择机发布以浪费诚实矿工工作量。
运作方式:
- 自私矿工挖到区块后不立即广播。
- 当诚实矿工还在旧链头上浪费算力时,自私矿工继续扩展其私有链。
- 自私矿工策略性发布区块,使诚实矿工区块变为孤块,从而获取不成比例的区块奖励份额。
影响:研究表明,总算力仅 25-33% 的矿工就可能从自私挖矿中获利(具体阈值取决于网络连通性)。但在实践中,这在主流网络上并未成为严重问题,因为该策略可被检测、风险高(私有链可能变孤块),且经济激励通常更偏向诚实挖矿。
Sybil 攻击
Sybil 攻击是通过创建大量虚假身份(节点)来获得对网络的不成比例影响力。
运作方式:
- 攻击者在区块链网络中创建数千个假节点。
- 这些节点包围诚实节点,控制受害者看到的网络视图。
- 攻击者随后可审查交易、投喂虚假信息或扰乱点对点通信。
防护:区块链共识机制本就为防御 Sybil 攻击而设计。在 PoW 中,没有算力,假节点毫无意义,每个节点都必须证明工作量才能参与共识。在 PoS 中,每个验证者都要质押真实资本。对设计良好的区块链而言,发起 Sybil 攻击的成本就是获取参与共识所需资源(算力或质押)的成本。
日蚀攻击(Eclipse Attack)
日蚀攻击针对的是特定节点而非整个网络,其目标是将该节点与诚实对等节点隔离。
运作方式:
- 攻击者识别目标节点的对等连接。
- 攻击者用受控节点大量发起连接请求淹没目标。
- 目标节点的对等连接逐步被攻击者节点替换。
- 被日蚀后,目标只能看到攻击者版本的区块链。
- 攻击者可向目标投喂虚假交易、延迟或审查信息,或促成针对该节点的双花攻击。
现实影响:研究论文已在 Bitcoin 和 Ethereum 节点上演示过日蚀攻击。对只连接少量对等节点的轻客户端最危险。
防护:运行具有多样化对等连接的全节点,使用多个数据源验证链状态,并维护到可信节点的静态连接。
长程攻击(Long-Range Attack,PoS 特有)
在 Proof of Stake 系统中,长程攻击利用了旧验证者密钥可能外泄(密钥泄漏、社工或向已退出验证者购买)这一事实。
运作方式:
- 攻击者获取曾在链历史早期活跃的验证者私钥。
- 攻击者从过去某个区块开始构造替代链历史。
- 由于在过去“重新质押”没有物理成本(不同于 PoW 重挖需要电力),攻击者可低成本生成竞争链。
防护:现代 PoS 系统通过以下方式缓解长程攻击:
- 弱主观性检查点(Weak subjectivity checkpoints):节点定期记录链状态,任何早于检查点周期的分叉会被自动拒绝。
- 社会共识(Social consensus):新节点从可信社区来源获取当前链状态。
- 密钥删除(Key deletion):鼓励验证者退出后删除旧签名密钥。
网络层攻击
BGP 劫持
边界网关协议(BGP)控制互联网流量在网络之间的路由。BGP 劫持会将互联网流量重定向到攻击者控制的网络。
对区块链的影响:若攻击者劫持区块链节点间流量,可延迟区块传播、分割网络,或拦截并篡改节点通信。
真实案例:ETH Zurich(2017)的研究表明,只需劫持少数 ISP 就可分割 Bitcoin 网络。2018 年出现可疑 BGP 事件,将发往 Amazon Route 53 DNS 服务的流量重定向,从而导致约 150,000 美元的 Ethereum 被盗。
时间劫持(Time-Jacking)
通过操纵节点的时间感知,攻击者可使其接受错误时间戳的区块,进而可能将其与诚实网络隔离。
防护:多数区块链客户端实现了严格的时间戳校验规则,不会仅依赖对等节点上报时间。
拒绝服务(DoS)
通过请求洪泛淹没节点或网络容量。区块链网络天生对 DoS 有一定抗性(交易费使垃圾流量昂贵),但单个节点或服务(交易所、区块浏览器、RPC 提供商)仍可被针对。
Solana 曾多次出现网络中断,部分归因于机器人活动引发的交易洪泛,这表明高吞吐链可能更易受垃圾交易攻击影响,而这类攻击在像 Bitcoin 这样手续费约束更强的链上较少见。
智能合约攻击
智能合约漏洞是加密货币生态中最大资金损失来源。详见我们的智能合约指南。
重入攻击(Reentrancy Attack)
运作方式:恶意合约在执行期间回调进入脆弱合约,而受害合约尚未更新其状态。
典型案例:The DAO 事件(2016)从 Ethereum 最大去中心化基金中被抽走 6000 万美元。
闪电贷攻击(Flash Loan Attack)
闪电贷是无需抵押、必须在单笔交易内借入并归还的贷款。攻击者借此临时掌控巨额资本操纵 DeFi 协议。
常见模式:
- 通过闪电贷借入数百万加密资产(无需抵押)。
- 用借来的资金操纵价格预言机或流动性池。
- 利用被操纵价格从脆弱协议提取价值。
- 归还闪电贷。
- 留下利润。
损失规模:闪电贷攻击已在 DeFi 造成数亿美元损失。典型案例包括 Euler Finance(1.97 亿美元,2023)、Cream Finance(1.3 亿美元,2021)和 Pancake Bunny(4500 万美元,2021)。
预言机操纵(Oracle Manipulation)
依赖外部数据源(预言机)的智能合约在预言机可被操纵时会变得脆弱。攻击者利用薄交易代币或低流动性池制造虚假价格波动,从而触发借贷协议、合成资产平台或衍生品市场中的有利条件。
治理攻击(Governance Attack)
部分 DeFi 协议允许代币持有人投票修改协议。若攻击者积累足够治理代币(可能通过闪电贷),即可通过恶意提案,抽空协议金库或把参数改成有利于自己的状态。
案例:Beanstalk Farms(2022)中,攻击者通过闪电贷获得足够治理代币,推动提案将协议金库中的 1.82 亿美元转出。
基础设施攻击
跨链桥利用(Bridge Exploits)
跨链桥是用于在区块链之间转移资产的智能合约,一直是加密货币被盗的最大单一来源。
为什么跨链桥脆弱:
- 跨链桥锁定大量资产(作为封装代币的“担保”)。
- 涉及复杂多链逻辑,审计难度高。
- 许多桥使用多签钱包,一旦达到密钥攻破阈值即获完全访问权。
主要跨链桥攻击:
| Bridge | Year | Amount | Attack Vector |
|---|---|---|---|
| Ronin (Axie Infinity) | 2022 | $625M | Compromised validator keys |
| Wormhole | 2022 | $320M | Signature verification bypass |
| Nomad | 2022 | $190M | Message verification flaw |
| Harmony Horizon | 2022 | $100M | Compromised multi-sig keys |
防护:尽量减少存放在桥合约中的资金。可行时优先使用原生桥接机制(如继承 L1 安全性的 rollup 桥),而非第三方桥。注意:在其他链上的封装资产会承受桥风险。
交易所被黑(Exchange Hacks)
中心化交易所热钱包持有大量加密资产,因而是重点攻击目标。主要案例包括:
| Exchange | Year | Amount |
|---|---|---|
| Mt. Gox | 2014 | 850,000 BTC (~$450M at the time) |
| Coincheck | 2018 | $530M (NEM) |
| FTX | 2022 | $477M (post-bankruptcy drain) |
| DMM Bitcoin | 2024 | $305M |
防护:不要在交易所长期存放大额资产。长期持有请转入自托管钱包,并通过合适的冷存储方法保护你的助记词。
MEV 与抢跑
什么是 MEV?
**最大可提取价值(MEV)**指区块生产者通过策略性排序、包含或排除区块内交易而提取的利润。虽然严格来说它不总是传统意义上的“攻击”,但 MEV 提取常以普通用户利益受损为代价。
MEV 类型
抢跑(Front-running):攻击者在内存池看到待处理交易后,以更高手续费提交竞争交易,抢先执行。
夹子攻击(Sandwich attack):针对 DEX 交易最常见的 MEV 利用形式:
- 用户在 DEX 提交大额代币兑换(如买入价值 100 ETH 的 Token X)。
- MEV 机器人看到该待处理交易,在用户交易前先提交 Token X 买单。
- 用户的大额买入推高价格。
- MEV 机器人随后立刻卖出 Token X,吃到上涨差价。
- 用户因价格被抬高而拿到少于预期的代币。
尾随(Back-running):攻击者在目标交易后立刻提交交易,捕获目标交易价格影响带来的套利机会。
MEV 规模
Ethereum 上 MEV 每年提取规模达数亿美元。某些 MEV 形式(套利、清算)被认为有助于市场效率,另一些(夹子攻击、抢跑)则直接伤害用户。
MEV 防护
- 私有交易提交:Flashbots Protect、MEV Blocker 及部分钱包(Cowswap、1inch Fusion)会将交易直接发送给区块构建者,绕过公开内存池。
- 限价单:使用限价单替代市价兑换可防止夹子攻击。
- 滑点设置:设置严格滑点容忍度,限制你可接受的最大价格影响。
- 批量拍卖:CoW Protocol 等协议将多笔交易批处理并寻找最优执行价,从机制上消除抢跑。
密码学威胁
量子计算
量子计算机理论上可能破解 Bitcoin 和 Ethereum 用于签名的椭圆曲线密码学(ECDSA)。足够强大的量子计算机可从公钥推导私钥。
当前状态(2026):量子计算机尚未达到威胁区块链密码学的规模。当前量子计算机拥有数百到几千 qubits;破解 ECDSA 需要数百万个纠错 qubits。多数专家估计仍有 15-30+ 年距离。
缓解措施:后量子密码算法正在开发与标准化(NIST 已在 2024 年完成后量子标准)。Bitcoin 和 Ethereum 可在量子计算成为现实威胁前,通过软分叉升级签名方案。未曾暴露公钥的 Bitcoin 地址(仅接收、未花费地址)对量子攻击更具抗性,因为链上只有公钥哈希。
哈希函数漏洞
若发现 SHA-256(Bitcoin)或 Keccak-256(Ethereum)存在可导致碰撞或原像攻击的根本性弱点,区块链完整性将受威胁。不过经过数十年密码分析,尚未发现此类弱点;即便出现严重风险,区块链社区也会在完全失效前迁移到新哈希函数。
如何保护自己
面向个人用户
- 保护助记词:使用安全生成方法,并通过冷存储在多个安全地点保存备份。
- 等待确认:在达到足够确认前,不要将交易视为最终完成(Bitcoin 6+ 确认,Ethereum 以 finalization 为准)。
- 使用成熟协议:优先与经过审计、经历时间检验的智能合约交互,避免新上线且未经审计的合约。
- 降低交易所持仓:长期持有资产应转入自托管钱包。
- 启用 MEV 防护:使用通过私有通道路由交易的钱包和 DEX 界面。
- 核对地址:始终双重检查收款地址。地址投毒攻击(攻击者从相似地址发送小额转账,诱导你后续复制该地址)越来越常见。
面向开发者
- 安全审计:部署前让智能合约接受多家独立机构审计。
- 漏洞赏金:为负责任漏洞披露提供经济激励。
- 形式化验证:用数学证明验证关键合约逻辑。
- 经验证库:标准功能优先使用 OpenZeppelin 等已审计库。
- 升级机制:实现带时间锁的升级模式,给用户留出反应时间。
- 预言机多样性:使用多个预言机源,并为极端价格波动设置熔断机制。
个人丢失加密货币最常见的原因并不是复杂的区块链攻击,而是糟糕的密钥管理。助记词泄露、钓鱼攻击和备份丢失造成的损失,远高于所有协议层攻击总和。使用 SafeSeed Seed Phrase Generator 创建密码学安全的助记词,并遵循我们的安全指南妥善存储。你的密钥,你的币,但前提是你的密钥足够安全。
FAQ
Bitcoin 曾被黑过吗?
Bitcoin 协议本身从未被成功攻击。自 2009 年 1 月 3 日以来,Bitcoin 主网持续运行,未出现一次成功双花或链损坏事件。但构建在 Bitcoin 之上的应用(交易所如 Mt. Gox、钱包和跨链桥)多次被黑。这个区别至关重要:Bitcoin 区块链是安全的;与其交互的服务和软件未必安全。
51% 攻击能摧毁 Bitcoin 吗?
51% 攻击可通过双花和交易审查暂时扰乱 Bitcoin,但无法摧毁 Bitcoin。攻击者不能从钱包偷币(签名仍需私钥)、不能绕过协议规则增发新币,也不能修改协议代码。社区还可通过更换挖矿算法进行应对(属于核选项,会让攻击者硬件失效)。Bitcoin 上 51% 攻击的极高成本(约 100 亿美元以上硬件成本加持续电力成本)使其成为加密领域最不可能发生的攻击场景之一。
最常见的区块链攻击类型是什么?
智能合约利用和跨链桥攻击是区块链生态中最常见且财务破坏性最大的攻击向量。仅 2022 年,跨链桥攻击就造成超过 30 亿美元损失。对个人用户而言,钓鱼、助记词盗取和地址投毒最常见。协议层攻击(51% 攻击、双花)较少见,且主要影响规模较小、安全性较弱的链。
Proof of Stake 区块链更容易还是更不容易被攻击?
PoS 链与 PoW 链面对的是不同攻击向量。PoS 在传统意义上不受 51% 攻击(无算力可累积)影响,但若攻击者获得足够质押,也会出现等价威胁。PoS 还具备额外防护(slashing),使攻击对攻击者形成直接成本。但 PoS 也引入长程攻击、质押集中化等独特风险。两种共识机制并不存在普遍“更安全”或“更不安全”,只是威胁模型不同。
如何判断一个 DeFi 协议是否相对安全?
没有任何 DeFi 协议是零风险,但以下信号通常意味着更高安全性:来自知名机构的多次独立安全审计、可观的漏洞赏金计划、带时间锁或治理门控的升级机制、长期保持较高 TVL 且无事故、开源并文档完善的代码、以及多元且活跃的开发团队。即使这些条件都满足,智能合约风险也永远不为零。只投入你能承受损失的资金。
区块链被攻击时,我的资金会怎样?
取决于攻击类型。在 51% 攻击中,只有攻击窗口期内的交易有风险,既有钱包余额不受影响。在智能合约利用中,只有存入被攻破合约的资金有风险,你个人钱包中的资金仍安全。在交易所被黑中,只有存放在交易所的资金有风险。这也是为什么自托管和正确密钥管理是应对多数攻击最有效的防线。
我需要担心量子计算吗?
短期内不需要。能够破解区块链密码学的实用量子计算机预计仍需 15-30+ 年。区块链社区有充足时间采用后量子密码标准。那些从未广播过交易(仅接收)的 Bitcoin 地址抗性更高,因为其公钥尚未暴露。关注量子计算进展是明智的,但它不应成为当前加密资产持有者的首要安全担忧。