以太坊的第一滴血,The DAO事件——一场差点改写区块链历史的攻击
前所未有的众筹神话
2016年春天,以太坊刚刚度过它的第一个生日,这个由22岁的维塔利克·布特林(Vitalik Buterin)创造的区块链平台,正急需一个证明自己的杀手级应用。
The DAO(去中心化自治组织)应运而生,它被誉为“人类历史上最伟大的社会实验”——一个完全由代码管理、没有董事会、没有CEO、一切决策由社区投票决定的众筹投资基金,人们疯狂了,短短一个月内,The DAO筹集了约1.5亿美元,折合超过1200万枚ETH,占当时以太坊总流通量的14%以上,这是当时人类历史上规模最大的众筹项目。
optimism达到了顶点。“代码即法律”(Code is Law)的信仰者们相信,一个由智能合约主导的新时代已经到来。
没有人想到,血即将流下。
攻击:递归的死亡螺旋
2016年6月17日,一个平静的周五。
一位匿名攻击者发现并利用了The DAO智能合约中的一个致命漏洞——重入攻击(Reentrancy Attack)。
漏洞的原理并不复杂:The DAO的代码在向用户转出ETH之后,才更新用户的余额记录,攻击者构造了一个恶意合约,在收到ETH的瞬间,反过来再次调用The DAO的提款函数,由于余额尚未更新,合约“以为”攻击者还有钱可取,于是一次又一次地转账,攻击者的恶意合约就像一个永不满足的黑洞,循环往复,将ETH源源不断地抽走。
一笔,两笔,一百笔……
几个小时之内,约360万枚ETH(当时价值超过5000万美元)被转移到攻击者控制的“子DAO”中,社区瞬间炸锅,ETH价格从20美元上方暴跌近40%,整个以太坊生态摇摇欲坠。
这是以太坊的第一滴血,年轻且意气风发的它,第一次尝到了鲜血的味道。
救赎:艰难的抉择
攻击发生后,维塔利克和以太坊核心团队迅速做出回应,幸运的是,The DAO的代码设定了27天的资金锁定期,攻击者暂时无法将赃款彻底转移,这为社区争取到了宝贵的反应时间。
摆在以太坊面前的,是三条路:
- 什么都不做,承认损失,坚守“代码即法律”的不可篡改原则;
- 软分叉——在不动账本的前提下,冻结攻击者的地址;
- 硬分叉,直接修改区块链历史,把被盗资金强行夺回。
软分叉方案率先被提出,却很快被发现自身存在可被拒绝服务攻击利用的漏洞而流产,社区做出了那个争议至今
发布于:2026-10-06,除非注明,否则均为原创文章,转载请注明出处。
