VASTOCE
RSS
行情
正在读取公开行情
加密货币

2016 年 6 月 17 日:The DAO 被递归调用漏洞抽走约 360 万枚 ETH

2016 年 6 月 17 日,V 神在以太坊基金会博客写:The DAO 的 split 函数被递归调用,攻击者把以太币抽进子 DAO。基金会强调这是该合约的问题,协议本身仍安全。后来 7 月 20 日硬分叉,才分出以太坊经典。本文不构成投资建议。

1 分钟阅读 Vastoce

2016 年 6 月 17 日,Vitalik Buterin 在基金会博客发《CRITICAL UPDATE Re: DAO Vulnerability》。他写:攻击已被发现并利用,攻击者正把 The DAO 里的以太币抽进一个子 DAO;手法是递归调用漏洞——在 split 函数里再次调用 split,同一笔交易里多次取走以太币。被抽走的币在子 DAO 的创建窗口里,至少约 27 天取不出来。他写明:这是 The DAO 合约的问题,以太坊协议本身是安全的。

The DAO 是建在以太坊上的众筹自治组织,4 月代币发售结束后锁进合约的以太币规模,当时媒体写成超过一亿美元。CoinDesk 当天报道被抽走约 360 万枚 ETH。数字以当时博客和区块浏览器地址为准,不要事后用今天的价格去乘。

接下来社区争的是:要不要改链。7 月 20 日,硬分叉在区块 1920000 执行了一次不规则状态变更,把「黑暗 DAO」和白帽合约里的币转到退款合约。基金会博客当天祝贺分叉完成。继续留在未分叉链上的人,把那条链叫作以太坊经典。6 月 17 日不是分叉日,是漏洞被利用、官方发紧急更新的那一天。

智能合约按代码执行,和交易所被盗不是同一类事故。基金会当天强调协议本身仍安全,出问题的是 The DAO 这套合约。后来行业把「先转账再改余额」写成可重入漏洞的教科书例子,那是事后教学,不是 6 月 17 日博客里的原句。

7 月 20 日硬分叉是下一道节点。不构成投资建议。

常见问题

被盗的币当天就能提走吗?

基金会写:子 DAO 有约 27 天创建窗口,攻击者当时取不出来。

硬分叉是哪天?

2016 年 7 月 20 日,区块 1920000。这条纪事钉在 6 月 17 日攻击与官方更新。

以太坊经典怎么来的?

有人拒绝这次硬分叉,继续在原链出块,后来被叫作 Ethereum Classic。

参考资料

  1. Ethereum Foundation — CRITICAL UPDATE Re: DAO Vulnerability
  2. Ethereum Foundation — Hard Fork Completed(2016-07-20)

本站作者做的阅读器

Kite RSS

用 Kite RSS 订一份自己的时间线

本站的文章会进订阅源。你也可以把别的公开源放进去,在自己的设备上读,不经过推荐流。