33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
---
|
||
title: "The DAO"
|
||
type: entity
|
||
tags: []
|
||
last_updated: 2026-05-01
|
||
---
|
||
|
||
## Overview
|
||
The DAO 是 2016 年以太坊网络上基于智能合约运作的去中心化投资组织,也是以太坊历史上最著名的重入攻击事件。2016年6月17日,攻击者利用 The DAO 合约中的重入漏洞,在单笔交易中反复提取约 360 万 ETH(当时价值约 5000 万美元),最终导致以太坊硬分叉为 ETH 和 ETC 两条链。
|
||
|
||
## Key Facts
|
||
- **成立时间**:2016 年 5 月
|
||
- **攻击时间**:2016 年 6 月 17 日
|
||
- **攻击金额**:约 360 万 ETH
|
||
- **攻击类型**:重入攻击(Reentrancy Attack)
|
||
- **漏洞位置**:splitDAO() 函数中的 withdraw() 逻辑,在状态更新前执行外部调用
|
||
|
||
## Attack Mechanism
|
||
1. 攻击者部署恶意合约到 The DAO
|
||
2. 恶意合约的 `fallback()` 函数在接收 ETH 时递归调用 The DAO 的 withdraw
|
||
3. 由于余额检查在递归调用之前未完成,每次递归都能提取资金
|
||
4. 最终攻击者获得了远超其原始存款的 ETH
|
||
|
||
## Significance
|
||
- 开创了智能合约安全研究的先河
|
||
- 直接导致以太坊经典(ETC)的诞生
|
||
- 催生了 [[ChecksEffectsInteractions]] 模式和 [[ReentrancyGuard]] 模式
|
||
- 推动了 Solidity 安全最佳实践的全面建立
|
||
|
||
## Sources
|
||
- [[engineering-solidity-smart-contract-engineer]]
|
||
- [[blockchain-security-auditor]]
|