行业事件

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>

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

最新文章

助记词与私钥

助记词可以借给别人保管吗?如果是亲人朋友、会有什么后果

把助记词抄一张纸塞给爸妈、把照片发给最信任的朋友——这种"我不会自己丢"的选择,看起来安全,其实把风险换了一种方式。本文把"借人保管"逐种关系拆开,看真正会出什么事。

常见误区

为什么所谓的"内幕消息"九成都是陷阱?

"我有内幕"是加密圈最便宜也最常见的开场白。剥开外壳之后,这句话的真实结构往往不是分享,而是一个精心设计的出货流程。

交易所安全

为什么把币长期放在交易所是危险的?别等到出事才明白

把币放在交易所方便、有客服、看起来正常。但"长期"放在交易所是一件被反复验证过会出事的事情。本文讲清楚为什么这件事一直都不安全。

心态与 FOMO

为什么不要在 Telegram 群里晒自己的盈利,代价比你想象的大?

在 TG 群里发一张 PnL 截图,5 秒内是骄傲,5 分钟内是同伴注视,5 个月内可能是被针对、被复制、被绑架预算。这篇把"为什么不晒"分成四层,从安全、心态、社交、操作面给你看代价。

防骗避坑

为什么聪明人也会被加密骗局骗到?背后的心理机制拆解

加密骗局不只针对"小白",受过良好教育、做事谨慎的人也大量中招。原因不在 IQ,而在几种几乎所有人都有的心理机制被精准利用。本文逐条拆解。

心态与 FOMO

为什么 SocialFi 应用让人特别上瘾,你应该警觉哪几条机制?

SocialFi 给"刷社交"加了真金白银的反馈,让人比刷传统社交更容易停不下来。这篇把它在心理层面利用的几条机制摊开来讲,顺便给你一份能让你少消耗自己的使用边界。