行业事件

The DAO 黑客事件:2016 年那次让以太坊分叉的攻击

2026-05-29 · 链上迷雾

要理解今天的以太坊为什么是这副样子——为什么有 ETH 和 ETC 两条链、为什么社区谈起"代码即法律"时神情复杂、为什么每一份智能合约审计报告都被反复读——你绕不开 2016 年那场让整个生态被迫选边站的事件:The DAO 黑客攻击

时间线回顾:从万人募资到资金流走

按时间顺序看这次事件,会清楚它不是"一次黑客攻击"那么简单,而是一连串决定层层叠加的过程。

时间 关键节点
2016 年 4–5 月 The DAO 上线众筹,募集到约 1150 万 ETH,按当时市值约 1.5 亿美元
2016 年 6 月 17 日 攻击者利用重入漏洞反复抽取资金,约 360 万 ETH 被转入子合约
2016 年 6 月 17–27 日 因 DAO 设计中的 28 天延迟期,资金被"冻"在子合约中,社区激烈争论应对方案
2016 年 7 月 20 日 以太坊主网执行硬分叉,将被盗资金回滚到新合约,用户可按比例取回
2016 年 7 月后 拒绝接受回滚的一部分节点继续运行旧链,**以太经典(ETC)**就此诞生

短短两个月里,以太坊从"史上最大去中心化众筹"的高光时刻,跌进了一场关于自我定义的危机——并最终给出了一个让所有人都不完全满意的答案。

The DAO 到底想做什么

The DAO 全称 “Decentralized Autonomous Organization”——去中心化自治组织。它的想法在 2016 年听起来非常未来:

  • 投资人把 ETH 打进合约,换得 DAO 代币,相当于"股东票"。
  • 任何团队都可以提出投资提案,由代币持有人投票决定是否出资。
  • 合约自动按投票结果分配资金,没有 CEO、没有董事会、没有银行账户

它一度被视为"以太坊的杀手级应用"。短短几周时间,社区涌入约 1150 万 ETH,占当时以太坊流通量的 14% 左右。这个数字之大,本身就埋下了后面所有难题的种子——它已经"大到不能倒"。

漏洞是什么:重入攻击讲人话

技术上,攻击者利用的是一个叫 reentrancy(重入) 的漏洞。把它翻成人话,大概是这样:

设想 ATM 取款的逻辑写错了顺序——

  1. 你输入"取 100 块";
  2. ATM 先把钱吐出来
  3. 然后才扣你账上的余额

正常情况下没问题。但如果你能在第 2 步和第 3 步之间"插队",反复触发"再取 100 块",ATM 就会一直吐钱,直到你账上的余额终于被扣到不够为止。

The DAO 合约里有个 splitDAO 函数大致就是这种先转钱、后更新账本的写法,而以太坊合约可以在收到 ETH 时回调另一个合约。攻击者写了一个会"回头再要钱"的恶意合约,在自己的余额还没被扣减前,反复触发提取——最终把约 360 万 ETH 抽到自己控制的子 DAO 里。

这是一个相对小但极其致命的代码缺陷。它教会整个行业一件事:智能合约里"操作顺序"不是细节,是命门。这个教训今天仍然有效,可以结合基础链上安全习惯一起看。

象征性的破裂智能合约金库,代币像数据流一样从裂缝中泄露

28 天延迟:黑客被"冻"住,社区开始吵架

The DAO 设计里有一个救命设定:被分出去的子 DAO 资金有 28 天延迟才能动用。这意味着即便被攻击了,资金也没有立刻消失——它就停在那儿,给了社区一个窗口去争吵该怎么办。

可问题恰恰出在这个"该怎么办"上:

  • "代码即法律"派:智能合约自动执行的结果就是结果,回滚等于背叛去中心化的承诺。
  • "救回用户"派:1150 万 ETH 的 30% 落到一个攻击者手里,不出手会把生态信用一次性打碎。
  • 技术派:先用"软分叉"封堵转账,争取时间;
  • 激进派:直接硬分叉,把账本拨回去。

这是以太坊历史上第一次集中暴露的治理难题。最后的方案是硬分叉,但代价是分裂出了 ETC 这条坚持"不回滚"的链——可以说,今天的以太坊生态对"治理"的所有讨论,都能追溯到这 28 天。

硬分叉之后:一条链变两条

7 月 20 日的硬分叉把被攻击的资金回滚,DAO 代币持有人可以通过新合约按比例取回 ETH。但拒绝接受这次回滚的节点继续运行旧版本——以太经典(Ethereum Classic, ETC)就这样诞生

简单概括两条链的分歧:

  • ETH(新链):承认硬分叉,把救回用户当作社区共识高于"代码自动执行"的一次例外。
  • ETC(旧链):坚持"代码即法律",宁愿让攻击者保留资金,也不接受人为回滚账本。

两条链都不是"对"或"错",它们只是把同一个困境给出了两种答案。这之后,加密世界的人们开始反复引用"代码即法律 vs 社区共识"这组对立,每次大规模事件都被翻出来重讲。后面加密历史关键事件里能看到这条主线一路延续到 DeFi、跨链桥、稳定币暴雷的时代。

象征性的双轨铁路从星空下分叉,比喻硬分叉两条链各走各路

留给今天的几条教训

距离 2016 年已经过去快十年,The DAO 事件留下来的教训不只是"小心智能合约"。把它们摊开来看:

  • 代码不是上帝,但人也不是。后续的所有 DeFi 攻击都证明:智能合约会有漏洞、写合约的人会犯错、读合约的人会忽略细节。审计、形式化验证、慢慢上线,都是从 The DAO 学到的常识。
  • "去中心化"是个程度问题。当一个合约持有了一条链 14% 的流通量时,所谓的"自治"很快就会让位于"不能倒"。这与后来FTX 崩盘的教训在另一个维度形成呼应。
  • 重入漏洞只是众多陷阱之一。从那以后,行业总结出了诸如 Checks-Effects-Interactions、重入锁等模式,但新型攻击依然层出不穷。智能合约审计不能"做一次就完事"。
  • 社区治理的代价是公开的吵架。硬分叉的结果不是一致同意,而是"多数赞同 + 少数另起一条链"。习惯这点,比期待"所有人达成共识"更现实。
  • 普通用户的本能保护:分散+核实。看到一个项目锁了惊人的资金,不必跟风冲进去;多看几个项目、读读它们的事故记录、参考识别加密谣言与误区,是穿越下一个 DAO 时刻的最实在准备。

几个还有人在问的问题

  • ETC 现在还在吗? 在。算力和市值远小于 ETH,但社区没散。
  • 攻击者最终拿到钱了吗? 在 ETH 链上没有,资金被硬分叉回滚;在 ETC 链上理论上仍归攻击者,但变现面临巨大追踪压力。
  • 黑客是谁? 多年来调查文章指向过不同的人,社区始终没有公认的答案。
  • 这件事算以太坊"原罪"吗? 看立场。批评者认为它打破了"代码即法律";支持者认为它证明社区能修正错误。

收尾

The DAO 不是简单的"被黑了多少钱"的故事,它是以太坊第一次面对自我定义的考验。下次再看到"代码即法律"或"硬分叉救一下"的争论时,回到 2016 年的这两个月,大概率能更清楚地看见正在发生什么。本文仅作历史科普,不构成任何投资建议。 </content>

本文仅作科普,不构成投资建议。加密资产波动大、风险高——永远只投入你亏得起的钱。

最新文章

行业事件

BTC ETF 连 10 天净流出 29.7 亿:对普通用户意味什么

到 6 月 4 日为止,美国现货比特币 ETF 已经连续 10 个交易日净流出,累计 29.7 亿美元,是产品上线以来最长的连续流出窗口之一。这篇梳理这串数字到底说明了什么、又不能说明什么。

心态与 FOMO

AI 板块虹吸加密资金时,该不该跟风跳过去?

6 月初一个明显的现象:资金从加密往 AI 板块切。Nvidia 再创新高,BTC、ETH 走弱。"加密是不是过气了"的疑问又起来了。这篇不预测哪个板块下半年更猛,只回答:板块虹吸时,你的心态该怎么稳。

心态与 FOMO

美伊紧张升级时,加密仓位该怎么调?

6 月初美伊军事摩擦再次升级,原油上跳、风险资产集体走弱,BTC、ETH 同步下挫。新闻每隔半天换一种说法,仓位却不能每隔半天换一次。这篇梳理在地缘冲击下,加密持仓应当按哪几条规矩走。

心态与 FOMO

ETH 跌破 2000 美元,信仰者该怎么调整心态?

ETH 在 6 月初跌穿 2000 美元心理位,链上活跃度也在走弱。对自称"以太坊信仰者"的人来说,这是比 2022 年熊市更微妙的一次心态测试:它不是一根明显的大阴线,而是一段被慢慢磨低的价格。

心态与 FOMO

BTC 跌破 67k,该不该补仓?6 月心态自检

6 月 BTC 一度跌穿 67k,盘中还试探了 61k。补仓的诱惑回来了。这篇不预测下一根 K 线,只问你一件事:在这种水位面对"逢低买入"的冲动,你的心态该按哪几条规矩走。

资产安全

被 Drainer 抽走资金后,还有什么挽救路径吗?

一旦发现钱包被 Drainer 抽走资金,下一个小时你能做什么是有限的,但顺序很重要。这篇按时间线把可能的挽救路径排一遍:链上追踪、平台冻结请求、合规报案、混币器盲点的现实,以及更长期的善后。