23-ETH-TheDAO

学习视频来源:https://www.bilibili.com/video/BV1Vt411X7JF/?p=23
本博客除了包含自己的在学习过程中记录的笔记外,还包含少部分自己扩展的内容,如有错误,敬请指正。

文章目录

  • [1. DAO](#1. DAO)
    • [1.1 为什么不去中心化一切?](#1.1 为什么不去中心化一切?)
    • [1.2 THE DAO:一次伟大的尝试](#1.2 THE DAO:一次伟大的尝试)
    • [1.3 工作原理](#1.3 工作原理)
    • [1.4 惊人成功](#1.4 惊人成功)
  • [2. 如何取回投资?------拆分机制(Split DAO)](#2. 如何取回投资?——拆分机制(Split DAO))
  • [3. 致命漏洞:重入攻击(Reentrancy Attack)](#3. 致命漏洞:重入攻击(Reentrancy Attack))
  • [4. 社区分裂:回滚 vs 坚守原则](#4. 社区分裂:回滚 vs 坚守原则)
    • [4.1 支持回滚派](#4.1 支持回滚派)
    • [4.2 反对回滚派](#4.2 反对回滚派)
  • [5. 补救尝试:软分叉失败](#5. 补救尝试:软分叉失败)
  • [6. 最终方案:硬分叉(Hard Fork)](#6. 最终方案:硬分叉(Hard Fork))
    • [6.1 社区投票与执行](#6.1 社区投票与执行)
  • [7. 以太坊分裂:ETH 与 ETC 诞生](#7. 以太坊分裂:ETH 与 ETC 诞生)
    • [7.1 ETC](#7.1 ETC)
    • [7.2 重放攻击](#7.2 重放攻击)
    • [7.3 解决方案:引入 ChainID](#7.3 解决方案:引入 ChainID)
  • [8. 为什么不能只冻结黑客账户?](#8. 为什么不能只冻结黑客账户?)
  • [9 思考](#9 思考)

1. DAO

1.1 为什么不去中心化一切?

比特币实现了去中心化货币 ,以太坊则进一步实现了去中心化合约。既然"去中心化"如此理想------无需信任中介、规则透明、不可篡改------那么,为什么不把所有东西都去中心化呢?

正是在这种思潮下,DAO(Decentralized Autonomous Organization,去中心化自治组织) 的概念应运而生。

DAO 是一种由代码规则驱动、通过区块链共识协议维护并自动执行的组织形式。它的章程、投票机制、资金分配等全部写在智能合约中,无需传统公司管理层或法律实体介入。

  • 组织规则公开透明;
  • 决策由代币持有者按权重投票决定;
  • 执行完全自动化,依赖区块链保障不可篡改。

DAO 不一定以盈利为目的(区别于传统的 DAC, Decentralized Autonomous Corporation),它可以是社区治理、公共基金、开源协作等多种形态。

1.2 THE DAO:一次伟大的尝试

2016 年 5 月,一个名为 THE DAO 的项目上线,成为历史上首个大规模实践 DAO 理念的尝试。

1.3 工作原理

  • 类似于一个去中心化的众筹投资基金
  • 任何人可向 THE DAO 投入以太币(ETH),获得对应数量的 DAO 代币;
  • 持有代币即拥有投票权,代币越多,权重越大
  • 社区共同投票决定投资哪些项目;
  • 项目产生收益后,按智能合约自动分配给代币持有者

这种模式前所未有地实现了民主化、透明化的风险投资,被许多人誉为"未来组织的雏形"。

1.4 惊人成功

  • 上线仅 1 个月 ,就筹集了 价值约 1.5 亿美元的以太币(当时约合 1270 万 ETH);
  • 占当时以太坊总流通量的 14% 以上
  • 有人甚至预言:"3--5 年内,THE DAO 的影响力将超过以太坊本身。"

然而,这场实验在短短几个月后就凉了。

2. 如何取回投资?------拆分机制(Split DAO)

THE DAO 没有提供直接的 withdraw 函数 。用户若想退出,唯一方式是通过 "拆分"(Split DAO)

  1. 用户发起拆分请求;
  2. 进入 7 天讨论期
  3. 拆分成功后,创建一个 子 DAO(Child DAO),将该用户的资金和代币转入其中;
  4. 子 DAO 资金 锁定 28 天,之后方可自由使用。

这一设计本意是保护多数人利益,同时允许少数派"和平分裂"。理念本身并无问题,很民主。

3. 致命漏洞:重入攻击(Reentrancy Attack)

问题出在 Split DAO 合约的实现上

黑客发现了一个重入漏洞 :在资金转账过程中,合约先发送 ETH,再更新余额。攻击者可构造恶意合约,在收到 ETH 的回调函数中再次调用取款函数,在余额未更新前反复提取资金。

利用此漏洞,黑客在短时间内转走了约 360 万 ETH(当时价值约 5000 万美元) ,占 THE DAO 总资产的 1/3

市场陷入恐慌,ETH 价格暴跌。人们开始质疑:号称"不可篡改、绝对安全"的区块链,为何在现实面前如此脆弱?

4. 社区分裂:回滚 vs 坚守原则

事件引发以太坊社区激烈争论,形成两大阵营:

4.1 支持回滚派

  • 认为黑客行为虽未违反代码,但违背社区共识;
  • 若放任不管,将摧毁用户对以太坊的信任;
  • 不能让投资者血本无归。

4.2 反对回滚派

  • 强调 "Code is Law"(代码即法律)
  • 如果因为损失大就回滚交易,区块链的不可篡改性将名存实亡
  • 未来每个智能合约出问题都要回滚?系统将彻底混乱。

5. 补救尝试:软分叉失败

以太坊核心开发团队首先尝试 软分叉(Soft Fork)

  • 在区块验证规则中加入一条:任何与 THE DAO 相关的交易均视为无效
  • 新节点拒绝包含此类交易的区块,旧节点仍可接受------属于向后兼容,所以属于软分叉

但该方案存在严重缺陷:

  • 软分叉规则不收取 Gas 费来处理 DAO 相关交易;
  • 攻击者可发送大量无效交易,触发 DoS(拒绝服务)攻击
  • 矿工节点因性能问题纷纷回退到旧版本,软分叉宣告失败。

此时,距离黑客资金解锁(28 天锁定期)已所剩无几,形势危急。

6. 最终方案:硬分叉(Hard Fork)

软分叉不行,团队提出更激进的方案------硬分叉

  • 第 1,920,000 个区块 处,强制将 THE DAO 及其子 DAO 中的所有资金转移到一个新合约
  • 该新合约只有一个功能:允许原投资者按比例提现
  • 此操作绕过签名验证,直接在协议层写死转账逻辑。

这是一次对历史交易的直接干预,本质上违背了"不可篡改"原则。

6.1 社区投票与执行

  • 虽然参与投票的人数有限,但大多数矿工和交易所支持硬分叉
  • 2016 年 7 月 20 日,硬分叉在预定区块高度成功激活;
  • 原投资者陆续取回资金。

7. 以太坊分裂:ETH 与 ETC 诞生

7.1 ETC

并非所有人都接受硬分叉。

一部分坚持"代码即法律"的开发者和矿工拒绝升级 ,继续在原链上挖矿。这条链后来被称为 Ethereum Classic(ETC,以太经典)

  • ETH(以太坊):硬分叉后的新链,回滚了 THE DAO 攻击;
  • ETC(以太经典):原始链,保留所有交易,包括黑客转账。

7.2 重放攻击

由于两条链使用相同的账户体系和私钥 ,出现了严重的 重放攻击(Replay Attack) 问题:

  • 在 ETH 链上发起一笔交易,可在 ETC 链上被重复执行,反之亦然;
  • 用户可能在不知情下同时转出 ETH 和 ETC。

7.3 解决方案:引入 ChainID

后来,两条链分别引入 chainId 参数,在交易签名中加入链标识,这样同一个账户同一笔交易得出的签名就不一样了,从而有效防止跨链重放

至此,问题得到彻底解决。

8. 为什么不能只冻结黑客账户?

有人质疑:为何不只针对黑客地址冻结,而非要回滚整个 THE DAO?

答案在于智能合约的本质

  • THE DAO 合约本身存在结构性漏洞
  • 黑客利用的是合约逻辑,而非外部攻击;
  • 只要合约还在运行,任何人都可复现攻击
  • 因此,整个合约已不可信,必须整体废弃

这也揭示了一个残酷现实:一旦智能合约出现致命 Bug,几乎无法修复,只能"作废"

最终,THE DAO 彻底解体。

9 思考

其实以太坊采取的硬分叉方案,并不是说完全是中心化。是否执行硬分叉分案,决定权不在以太坊团队手中,而是在矿工手中。硬分叉分案之所以能成功,是因为它得到了大部分矿工的支持,同意升级节点,这也包含了一定程度的去中心化和共识。

相关推荐
devmoon15 小时前
区块链开发必看!Polkadot 跨链通信机制原理与实战详解
区块链
MQLYES17 小时前
21-ETH-权益证明
区块链
TechubNews18 小时前
从「全链互操作性协议」到「去中心化多核世界计算机」,LayerZero 想做什么?
大数据·网络·人工智能·区块链
暴躁小师兄数据学院19 小时前
【WEB3.0零基础转行笔记】Solidity编程篇-第2讲:StorageFactory
开发语言·笔记·后端·golang·web3·区块链
KsYehh19 小时前
黄仁勋聊嗨了、马斯克给地球定下30个月的 Deadline、比特币超发?Openclaw 横空出世...
人工智能·区块链
MicroTech202521 小时前
微算法科技(NASDAQ: MLGO)基于量子技术的区块链架构:量子原生验证模型与分布式账本革新
科技·架构·区块链
voidmort2 天前
比特币的P2P网络协议
网络·web3·区块链
听麟2 天前
HarmonyOS 6.0+ 跨端区块链存证平台开发实战:分布式共识与数据不可篡改落地
分布式·深度学习·华为·区块链·ar·harmonyos
凉茶社2 天前
Polymarket 量化交易实战(四):批量下单与优化
web3·区块链