The DAO 去中心化基金:为什么募到 1.5 亿美元的 The DAO,会在上线 51 天后被人一次性搬空?
把一个未经审计的合约当成制度,用不可撤销的代码去承载可撤销的人性
The DAO 去中心化基金:巅峰期史上规模最大的众筹项目,28 天募集超过 1200 万个以太币,被视作「代码即法律」的自治组织范本;终局是上线不到两个月因智能合约漏洞被盗走约 360 万个以太币,以太坊为追回资金实施硬分叉,项目本身被终止。
史上规模最大的众筹项目,28 天募集超过 1200 万个以太币,被视作「代码即法律」的自治组织范本
上线不到两个月因智能合约漏洞被盗走约 360 万个以太币,以太坊为追回资金实施硬分叉,项目本身被终止
4,986 votes cast
1 plans · 2 insights
投稿会先进入待审,通过后才进入公开目录和站点地图。
Root Causes Consensus Poll
Vote for the primary fatal error that caused this enterprise to collapse.
核心合约未经充分安全审计就承载全部资金
递归调用属于当时已知的漏洞类型,但既没有被发现,也没有用分批解锁或额度上限来限制损失范围
把「代码即法律」当成免责条款
没有预留任何人工紧急制动或分期拨款机制,问题出现时只能靠修改链本身的共识规则来补救
治理结构无法处理利益冲突
提案与投票没有身份与责任约束,攻击者可以用匿名身份走完全部流程
募集规模远超技术与治理的承受能力
资金一次性到位并全部锁定在同一个合约里,把单点风险直接放大成系统级风险
Timeline: peak to collapse
众筹创纪录
28 天募集超过 1200 万个以太币,成为当时规模最大的众筹项目
合约接管资金
合约开始管理全部资金,任何持币人都可以提交提案并投票通过资金拨付
资金被搬空
攻击者利用合约在转账前未清零余额的漏洞反复递归提取,约 360 万个以太币被转入一个子合约
硬分叉与终止
社区为追回资金在区块高度 192 万实施硬分叉,形成以太坊与以太坊经典两条链,The DAO 被终止
Four-Dimensional Retrospective Breakdown
Background & Golden Era
2016 年,一个由智能合约自动管理资金的去中心化自治组织在以太坊上发起众筹,凭借开放治理的叙事在 28 天内募集超过 1200 万个以太币,按当时价格约合 1.5 亿美元,成为那个周期里最受关注的链上实验巅峰期的成绩单是:史上规模最大的众筹项目,28 天募集超过 1200 万个以太币,被视作「代码即法律」的自治组织范本。此时的它拥有渠道、品牌与资本的合力,看起来没有任何理由会输。
Fatal Turning Point Miscalculation
团队把「自动执行」等同于「安全执行」,在合约仍可被递归调用、外部资金又没有仲裁机制的情况下,就一次性开放了全部资金的支配权底层架构的缺陷被增长掩盖了很多年,真正爆发时表现为线上事故、体验崩塌与迭代停滞,修复成本远高于当年重做的代价。
Internal Culture & Bureaucratic Hubris
技术决策长期被短期交付目标绑架,「先上线,以后再改」变成永久状态,没人对架构健康度负责。
The Collapse & Aftermath
上线不到两个月因智能合约漏洞被盗走约 360 万个以太币,以太坊为追回资金实施硬分叉,项目本身被终止。The DAO 去中心化基金的结局不是某一次意外,而是上面这些判断在数年里不断叠加、又始终没有被纠正的必然结果。
Battle-Tested Actionable Survival Rules
Distilled practical DOs and DONTs forged from costly corporate catastrophes.
自动化不能替代治理设计
智能合约可以替代执行,但不能替代仲裁与追责。
- •关键资金合约必须经过独立审计并设置额度上限
- •为不可逆流程预留可验证的紧急停止机制
- •不要把「不可篡改」当成「不用负责」
- •不要在缺少争议解决机制时放开全部资金
Revival Simulation: If you were the CEO at the inflection point, how would you save it?
History cannot be rewritten, but executive decision-making can be honed. Propose decisive divestitures and strategic bets, and let entrepreneurs & VCs vote on feasibility.
分片托管资金,重写合约并引入人工仲裁层
Critical intervention point:2016 年 5 月合约正式接管资金之前
- •停止让单一合约持有全部资金
- •取消一次性全额拨款
- •暂停未经审计的提案执行
- •把资金拆到多个独立合约并设置单笔与累计额度上限
- •高额度拨款必须经过多签与延时执行
- •由独立第三方完成审计并公开报告后再开放投票
把「代码即法律」改为「代码加仲裁」,明确异常时谁有权按下暂停键,以及暂停的代价由谁承担。
项目以更小的规模继续运行;即使出现单点漏洞,损失也能被限制在一个分片内,不至于动摇整条链的共识。
Expert Post-Mortem Insights
Firsthand diagnostic analyses from entrepreneurs, VCs, alumni, and analysts.
The DAO 的技术错误本身并不高级,属于当时已经被记录过的递归调用类型。真正的问题是它没有给自己留任何缓冲:没有额度上限、没有分期拨款、没有人工叫停,于是唯一能用的补救手段就是修改整条链的共识规则,代价由所有人承担。
任何管理大额资金的自动化系统,都应该把「最坏情况能挽回多少」当作第一设计目标,而不是把「不会被干预」当作卖点。
The DAO 的技术错误本身并不高级,属于当时已经被记录过的递归调用类型。真正的问题是它没有给自己留任何缓冲:没有额度上限、没有分期拨款、没有人工叫停,于是唯一能用的补救手段就是修改整条链的共识规则,代价由所有人承担。
任何管理大额资金的自动化系统,都应该把「最坏情况能挽回多少」当作第一设计目标,而不是把「不会被干预」当作卖点。
Business Post-Mortem Memo · The DAO 去中心化基金
为什么募到 1.5 亿美元的 The DAO,会在上线 51 天后被人一次性搬空?
# Business Post-Mortem Memo:The DAO 去中心化基金 > 为什么募到 1.5 亿美元的 The DAO,会在上线 51 天后被人一次性搬空? > Period: 2016 - 2016 | Industry: FinTech & Web3 > Peak: 史上规模最大的众筹项目,28 天募集超过 1200 万个以太币,被视作「代码即法律」的自治组织范本 > Final: 上线不到两个月因智能合约漏洞被盗走约 360 万个以太币,以太坊为追回资金实施硬分叉,项目本身被终止 ## Overview 把一个未经审计的合约当成制度,用不可撤销的代码去承载可撤销的人性。巅峰期史上规模最大的众筹项目,28 天募集超过 1200 万个以太币,被视作「代码即法律」的自治组织范本;终局是上线不到两个月因智能合约漏洞被盗走约 360 万个以太币,以太坊为追回资金实施硬分叉,项目本身被终止。 ## Top-voted root causes 1. [Product & Tech] 核心合约未经充分安全审计就承载全部资金 (1,640 votes) 2. [Strategy] 把「代码即法律」当成免责条款 (1,378 votes) 3. [Org & Culture] 治理结构无法处理利益冲突 (1,115 votes) ## Actionable lessons ### 自动化不能替代治理设计 > 智能合约可以替代执行,但不能替代仲裁与追责。 - ✅ DOs: - 关键资金合约必须经过独立审计并设置额度上限 - 为不可逆流程预留可验证的紧急停止机制 - ❌ DON'Ts: - 不要把「不可篡改」当成「不用负责」 - 不要在缺少争议解决机制时放开全部资金 ## Revival plans ### 分片托管资金,重写合约并引入人工仲裁层 — 良略编辑部 Intervention: 2016 年 5 月合约正式接管资金之前 - Must cut: - 停止让单一合约持有全部资金 - 取消一次性全额拨款 - 暂停未经审计的提案执行 - Breakthrough moves: - 把资金拆到多个独立合约并设置单笔与累计额度上限 - 高额度拨款必须经过多签与延时执行 - 由独立第三方完成审计并公开报告后再开放投票 - Expected outcome: 项目以更小的规模继续运行;即使出现单点漏洞,损失也能被限制在一个分片内,不至于动摇整条链的共识。 ## Community insights ### 把不可撤销的代码和不可撤销的资金绑在一起,等于把一次普通的 bug 直接放大成一次系统性事故。 — 良略编辑部 (工程师) The DAO 的技术错误本身并不高级,属于当时已经被记录过的递归调用类型。真正的问题是它没有给自己留任何缓冲:没有额度上限、没有分期拨款、没有人工叫停,于是唯一能用的补救手段就是修改整条链的共识规则,代价由所有人承担。 - Alternative Move if Replayed 任何管理大额资金的自动化系统,都应该把「最坏情况能挽回多少」当作第一设计目标,而不是把「不会被干预」当作卖点。 ### 把不可撤销的代码和不可撤销的资金绑在一起,等于把一次普通的 bug 直接放大成一次系统性事故。 — 岑柏舟 (工程师) The DAO 的技术错误本身并不高级,属于当时已经被记录过的递归调用类型。真正的问题是它没有给自己留任何缓冲:没有额度上限、没有分期拨款、没有人工叫停,于是唯一能用的补救手段就是修改整条链的共识规则,代价由所有人承担。 - Alternative Move if Replayed 任何管理大额资金的自动化系统,都应该把「最坏情况能挽回多少」当作第一设计目标,而不是把「不会被干预」当作卖点。 --- Source: 良略 · https://www.lianglue.com/c/the-dao