主页 > imtoken官网下载3.0版本 > 以太坊分叉的原因:著名的 The DAO 事件
以太坊分叉的原因:著名的 The DAO 事件
白话区块链
从入门到精通,看我就够了!
“交易暂停,我们被攻击了。”
2016 年 6 月 17 日,以太坊创始人 Vitalik Buterin 急于在 Reddit 上发帖“DAO 如果受到攻击,请暂停交易平台上 ETH/DAO 的交易、充值和提现,直到另行通知。新信息将尽快更新。”
这件事一经发布,就引起了巨大的反响。下面的回复都是各种讽刺、辱骂、调侃。有人说“是啊!Bitcoin To Da Moon,Ethereum Pill”,也有人说“讽刺的是,我之前说过以太坊很好,DAO 没有被黑。”当然,人们关心的是自己的钱“我们的钱”么?没了?”
他们这样做是有理由的。
01
DAO
为什么Buterin在交易平台上呼吁暂停ETH/DAO的交易?什么是 DAO?
要理解这一点,我们必须从头开始。
DAO,英文全称Decentralized Autonomous Organization,是Buterin提出的概念。
这个去中心化的组织依靠智能合约在区块链上运行,没有法人实体。我们可以把它理解为“去中心化的公司”。
DAO 是由区块链公司 Slock.it 发起的众筹项目。
Slock.it 是一家结合区块链和物联网的公司。一开始,他们只是想用以太坊来开发他们的“人人共享网络”。随着发展的深入,他们发现去中心化的共享经济大有可为。他们在伦敦的 Devcon1 上演示了这个概念和愿景,该项目出人意料地获得了好评。
于是,DAO 项目诞生了。
在 DAO 项目中,代币持有者拥有巨大的权力。比如项目资金的使用需要代币持有者投票,相关提案有智能合约支持。
创始人雄心勃勃,他们想创建一个真正的“DAO”,一个真正的去中心化自治组织。
2016 年 4 月 30 日,The DAO 项目开始众筹。项目代币DAO,众筹时间为28天,代币价格约为100 DAO兑换1到1.5以太坊。 DAO项目共筹集超过1200万以太坊,几乎占当时以太坊总量的14%,当时价值超过1.5亿美元,超过11000人参与在众筹中。
DAO 是当时最大的众筹项目。这超出了很多人的想象,项目组自己也没有想到。众筹结束后,各家交易所纷纷上架DAO代币并开始交易,场面喜人。
但是,人怕出名,猪怕强,钱容易被盯上。筹集了这么多资金,DAO 自然成为黑客的目标。
Tual 在 6 月 12 日宣布,他们在软件中发现了“递归调用漏洞”,但这对 DAO 资金来说不是问题。会有风险。
也许众筹的成功让人们失望了,人们已经等不及 The DAO 启动了。当时,超过 50 个项目提案正在等待 The DAO 代币持有者投票。
02
攻击
然而,平静的海面之下,暗流汹涌。
6 月 17 日,黑客利用 The DAO 代码中的递归漏洞,不断从 The DAO 的资金池中分离资产;然后,黑客利用了 The DAO 的第二个漏洞,避免了分离后的资产被破坏。
在正常情况下,The DAO 的资产在分离后会被销毁。然而,在通话结束前,黑客将被盗的 The DAO 资产转移到其他账户以避免被破坏。
世界上对 The DAO 代码和机制如此熟悉的人可能不超过 100 人。黑客利用这两个漏洞进行了 200 多次攻击,总共窃取了 360 万个 ETH,占该项目筹集的 ETH 总量的三分之一以上。
(图片来源于网络)
社区没多久就发现了黑客的攻击,整个社区都惊呆了。
随后,DAO 守护者提议社区发送垃圾交易来封锁以太坊网络,以减缓 DAO 的资产转移速度。
The DAO 项目筹集的以太币数量几乎占当时以太坊总量的 14%,这个数字太大了。如果 The DAO 出事,整个以太坊网络都会受到影响,更何况以太坊基金会也参与了 The DAO 项目。
幸运的是,正是因为这些“糟糕”的代码,黑客无法撤回这些以太坊。因为代码规定提现需要28天,这给了社区足够的时间研究对策。
经过紧急协商,Buterin 很快在以太坊官方博客上发布了公告“紧急更新:DAO 中的漏洞”。在公告中,Buterin 解释了此次攻击的一些细节,并提到软分叉提案已经提交,但不会回滚,交易和区块也不会被撤销。
对于以太坊来说,分叉是一个艰难的选择。
当时社区里有人反对分叉,因为“这会杀了以太坊。如果这个分叉通过了区块链硬分叉机制,以后随时可以分叉……数字诞生的目的货币,是为了解决‘太大而不能倒’的问题,现在,大家一致认为‘太大而不能倒’起来了。”
2008 年的金融危机让人们深刻理解了“太大而不能倒”的含义。
更多网友回忆历史:
“历史只是在重演,即使在加密货币领域也是如此。您可能还记得类似的事情发生在未来的货币中。 BTER交易平台被黑,5000万未来币被盗,占比5%。 Future Coin 是一种 PoS 共识机制,所以这种情况的风险非常高。 Future Coin 开发人员发布了一个特殊版本,该版本可以将被盗交易回滚。当时,Futurecoin 社区也需要决定做什么。经过多次辩论,最终的结果是没有回滚。黑客拿到了币,Futurecoin 社区从此分裂。希望大家都能做出明智的选择。”
受此事件影响,次日以太坊价格暴跌约30%。
03
以太坊分叉讨论
6 月 18 日,发生了一件有趣的事情。
一个自称是 The DAO 的中间黑客事件出现在 The DAO 的 Slack 频道上。一些媒体采访了他。中介在采访中表示,他们将发放100万以太币和100比特币,奖励反对软分叉并继续挖矿的矿工。
他还说“以太坊人很虚伪,比如大家都知道‘CASPER’PoS共识机制行不通,但他们还在宣传‘CASPER’。我不喜欢以太坊,也不喜欢喜欢 Slock.it,但这不是主要原因。主要原因是钱,即使我喜欢以太坊,我仍然会这样做。”
只是没有人能确定这个所谓的中间人的真实身份。
同一天,一封致以太坊和DAO社区的公开信出现在互联网上。作者自称是黑客。作者在信中说,
“我对声称此行为被定性为盗窃感到失望。我只是研究了 The DAO 的代码然后利用它,我的行为没有违反 The DAO 的条款,我的律师认为我的行为完全遵守美国法律...
软分叉或硬分叉会损害我的权利,也会对社区造成伤害。以太坊的大玩家将粉碎如果你丢失了你的代币,开发人员、研究人员和公司将离开以太坊社区。p>
不要做出错误的选择。任何分叉,无论是软分叉还是硬分叉,都会极大地影响危害以太坊并破坏其声誉。
我保留冻结、没收或以其他方式损害我的合法以太坊代币并采取任何必要行动保护我的合法利益的所有权利。”
但是,有些人认为这只不过是其他人的网络钓鱼,因为文章末尾的加密签名是无效的。
6 月 19 日,黑客再次发起攻击,但这次只分离了少量 DAO 资产。
社区里有人坐不住了,很多人受够了这可怕的一天,“这不仅仅是 The DAO 的问题,这是 Solidity(以太坊智能合约使用的语言)的问题,以太坊真的很吓人。这些天,我一直在观察市场,总是担心以太坊的安全性,够了就够了。”这些“心软”的人开始卖以太坊。
(照片:克里斯托夫 Jentzsch)
同一天,Slock.it 的联合创始人兼 CTO Christoph Jentzsch 发表了一篇博文。在博文中,他提出了两个建议:
一个是软分叉,也就是V神的提议。但这还不够,它只是冻结了 The DAO 的所有资产,因此黑客无法提取现金,但其他投资者也不能。
第二个是直接硬分叉。通过硬分叉,所有资金都可以返还,投资者不会有任何损失,无需回滚。
硬分叉不是开玩笑,不仅仅是为了解决技术问题,比如重放攻击的问题,更重要的是解决价值观的问题。
一开始,人们支持区块链和以太坊,是因为他们讨厌现实中的中央机构可以随意修改规则的事实。如果以太坊也可以随意硬分叉,那和现实中的中央机构有什么区别?
21 日,Christoph Jentzsc 向社区发文道歉,承认自己没有发现 The DAO 代码的漏洞,“虽然很多知名人士都对代码进行了审计区块链硬分叉机制,但还不够。我们学到了宝贵的一课,虽然付出了沉重的代价。”
最后还是希望大家多多支持分叉。
(图片:Alex Van de Sande)
6 月 22 日,Alex Van de Sande 在 Reddit Post 发文称,他这几天参与了一次白帽黑客行动。原来,在 The DAO 遭到攻击后,Alex Van de Sande 和几名白帽黑客决定发起行动,拯救大家的剩余资金。他们将这次行动命名为“Robin Hood”行动。
这个操作其实是用同样的方法,再次“破解”DAO,并将剩余资金转移到安全地址。
虽然他们的初衷是好的,但这样做是否合法仍有待商榷。
编程专家 Vessenes 说:“他们这样做,几乎可以肯定是非法的,但他们声称这是为了更多人的利益。”
罗宾汉行动并不顺利,据彭博社报道,在一次攻击之前,Alex Van de Sande 的计算机已离线。
作为一名黑客,他的电脑下线了……他自嘲“我们试图从一台机器上窃取数千万美元,但我们被另一台机器伏击了。”
不过,他们最终还是成功转移了剩余资产,《罗宾汉》成功了。
接下来是关于分叉的大讨论。支持分叉的和反对分叉的,各有各的道理。
有人说:
“以太坊基金会参与 The DAO 项目是错误的。因为我认为以太坊应该选择一些成功的项目和实验来提供基础设施,反之亦然。过去他们需要强大的基础才能成功, 他们需要坦诚面对挑战。硬分叉提出的妥协破坏了这种坦诚,意味着 DAO 项目将反过来影响他们自己的基础设施。对我来说,这是完全不可接受的,并且违背了曾经的以太坊原则吸引了我。”
“以太坊一直按它应该的方式运行。我觉得如果它现在运行,它不应该更新软件。交易就是交易,如果你为某些特定参与者更改规则,其他参与者会想要也有特殊待遇。”
而且投资者只关心他们的钱,”我在最初几天做了一个愚蠢的决定,损失了 20,000 以太币,你能把这些以太币还给我吗?这种做法有悖于去中心化的原则。
支持硬分叉的人认为,黑客无法成功在道德上是不合理的。
如此多的以太坊落入坏人之手,后果将是严重的,社区应该阻止它。通过硬分叉,监管机构和法律部门也可以被封杀,我们的问题将由我们自己解决。
经过激烈的讨论(V神支持硬分叉),最终大部分人同意硬分叉。
04
以太坊硬分叉
7月20日晚,备受瞩目的硬分叉成功实施,社区如释重负。
分叉后形成两条链,一条是原链(Ethereum Classic,ETC),一条是新的分叉链(ETH),分别代表不同的社区共识和价值观。
ETC 认为已经发生的事情已经发生。区块链的精神是不可篡改。账本一旦形成,就不应被篡改。这是原则问题。
ETH方面认为这是盗窃,违法行为,必须予以打击。
V神站在ETH一边,但ETC并没有死。许多区块链精神的“死忠粉”仍在追随ETC,其中约10%的人在投票时反对硬分叉。
7月23日,当时全球最大的以太坊交易平台Poloniex上线ETC,多家交易所纷纷效仿,ETC价格最高涨至ETH的三分之一。这让原本和平的社区变成了对抗,大家互相争吵,最后社区一分为二。
7月24日,以太经典ETC国际社区诞生。 ETC社区也发表了独立宣言,表示ETC与以太坊基金会不再有任何联系,并强调以太坊的价值和规划ETC的未来。
05
课程
2017 年,Buterin 在接受采访时回忆了 The DAO 的事件,他说:
“我认为以太坊现在很好。有些人对纯洁和道德很认真,一旦错了,就永远错了。但我认为随着时间的推移,他们会发现以太坊的治理会越来越稳定,项目也会向前推进。”
Slock.it 的联合创始人兼首席技术官 Christoph Jentzsch 曾写过一篇回忆 The DAO 事件的文章。在文章的最后,他总结了他们的经验教训:
1、智能合约的安全问题仍需通过实践来完善,该领域仍处于起步阶段。不用说,这个行业才刚刚起步,要发展的东西太多了,事情要一步一步来。
2、永远对未知保持警惕。现在有很多可用的安全工具,我们的团队知道很多攻击媒介。问题是在编写 The DAO 代码时没有人意识到这一点。
3、以太坊的工具还不成熟。当时还没有开发出表单证明验证工具。随着The DAO事件的出现,推动了这些安全工具的发展。
4、去中心化系统的治理和投票机制有待完善。提交评论以指导去中心化软件的工具尚未开发出来,Reddit 等中心化论坛不适合去中心化系统。
5、逐步发布产品。 DAO 在启动时应该更加谨慎,并逐步推出。类似项目上线时保留部分中心化,逐渐去中心化。
6、将复杂性降到最低。 DAO 的代码有 663 行。据统计,每1000行代码就有15-50个bug。因此,智能合约代码应尽可能简单。
06
结束语
DAO 事件的影响如此之大,甚至惊动了美国 SEC,尽管他们并没有来调查谁偷了这些代币。不过这也对后续项目在进行代币众筹时的实践产生了不小的影响,项目方也会更加关注法律风险。
DAO 项目现已失败,但 Slock.it 公司仍然存在。 2018 年 11 月,Slock.it 的 CEO 也出席了在柏林举行的活动。
至于DAO,“去中心化自治组织”的想法能否存活还有待观察。
相关/热门文章
——结束——