首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软硬兼施,完币归赵-史上最大众筹项目The DAO黯然落幕

软硬兼施,完币归赵-史上最大众筹项目The DAO黯然落幕

作者头像
Henry Zhang
发布2019-04-12 16:30:40
8290
发布2019-04-12 16:30:40
举报
文章被收录于专栏:亨利笔记亨利笔记亨利笔记

题图摄于温哥华Sunset Beach

本文是笔者关于The DAO事件的第三篇文章,之前并没想过可以写成三部曲。前两篇《道or悼》、《DAO可盗》介绍了TheDAO项目的成立背景和运作原理,以及资金被黑客控制后,以太坊社区准备通过软硬兼施的分叉技术来夺回黑客盗走的以太币。同时,社区里也掀起了是否要坚持去中心化原则的大辩论。本篇和大家分享一下The DAO项目的大结局。

为了解决The DAO大量资金被盗的问题,尽管争议颇多,以太坊官方还是推出了针对The DAO的软分叉(soft fork)版本Geth v1.4.8,该版本增加了一些规则以锁定黑客控制的以太币,以便有更多时间留给社区去解决The DAO的问题。在六月底的数据显示,绝大多数矿工都升级了这个版本的软件,眼看着软分叉就要大功告成了。

也许The DAO就是命运多舛,不知是否因为时间仓促,众多大牛编写出来的软分叉版本居然又有漏洞!这个漏洞比较明显,简单地说,每个以太坊上的交易,验证节点(矿工)都会检查是否与The DAO智能合约及其子DAO的地址相关。如果是则拒绝这个交易,从而锁定The DAO(包括黑客在内)的所有资金。这个逻辑实现本身并没有问题,但是却没有收取执行交易的燃料费(gas)。当初以太坊设计的gas有两个作用:支付矿工的交易费和增加潜在攻击者的成本。取消交易燃料费后,导致了非常严重的后果:以太坊网络成为了DoS (Denial of Service)的攻击目标(如同我国高速公路在法定节假日免费通行造成大塞车的情况一样),攻击者可以零成本地发起大量攻击,使得整个网络彻底瘫痪。因为这个漏洞,各个节点回滚了软件版本,软分叉方案失败!

以太坊官方博客警告软分叉DOS风险

形势陡然严峻起来,欲追回黑客盗走的资金,既然软的不管用,只有走硬分叉(hard fork)这条华山路了。还有两周多的时间,黑客就可以转移走控制的资金,因此要在这之前完成硬分叉版本的开和发测试,任务充满风险和挑战。

这边开发硬分叉版本暂且不表,另一边社区关于硬分叉和去中心化的争论仍在继续,众说纷纭,莫衷一是。为了公平起见,以太坊就硬分叉草案发起了非正式的投票,采用了独特的区块链投票模式,笔者带大家领略一下。以太币持有人投赞成票的可把以太币发往一个地址,投反对票的可以发向另一个地址,无论发向哪个地址,上面的智能合约会自动把以太币如数返还(扣除极少执行费用)。投票的截止时间是第1894000区块(区块链特有的计时方式),投票结束后,从区块链账本中分别统计发往两个地址的以太币数,即可得到投票结果。值得一提的是,这个投票程序完全由中国以太坊社区的工程师开发,显示了国内以太坊的技术力量影响力越来越大。对技术感兴趣的朋友,可以从这里查看源代码:

https://github.com/consenlabs/carbonvote

从carbonvote网站的投票结果显示,共有450万左右的以太币参与了投票,其中87%的票数支持硬分叉方案,由此看来,社区多数人还是赞成采用硬分叉来解决The DAO的问题,这个艰难的决定终于有了个合理的说法。

carbonvote网站的投票结果

话说这边投票结果水落石出,那边硬分叉的程序也瓜熟蒂落了,万事具备,只待硬分叉生效了。根据事前的调查,大约90%的矿工会支持这个硬分叉升级。程序中预设的切换时间是第1920000个区块,大概是北京时间7月20日晚9点20分左右。当晚,区块一个一个悄无声息地生成,以太坊社区都在屏住呼吸紧张地等待着历史时刻来临。终于,1920000区块如期到来,硬分叉切换成功了!在这个用代码定制的区块里面,The DAO合约里的所有资金,包括被黑客控制的资金,约1200万以太币,全部都“嗖”地一下转移到了一个新的智能合约中,该合约只有一个功能:退回The DAO众筹参与人的以太币。众筹人只要调用withDraw()方法,就可用DAO币换回以太币。完整的提币指南可以参考以太坊爱好者网站:

http://ethfans.org/topics/524

The DAO退币合同,还有200多万以太币未被领取

至此,史上最大众筹项目The DAO “完美”谢幕,所有筹集的资金将退还给众筹人,The DAO也就此解散。从万众瞩目的众筹开始,到受到攻击资金泄漏,再到争论中软硬分叉,最后解散退回以太币,整个事件发生在短短3个月的时间里,如同流星一样划过,留下众多的思考和启示。

以太坊历史性分叉瞬间

The DAO是人类尝试完全自治组织的一次艰难试验,因在技术上存在缺陷,理念上和现行的政治、经济、道德、法律等体系不能完全匹配,以致失败告终。The DAO也给了我们很多可借鉴的经验,例如智能合约漏洞的处理,代码自治和人类监管之间的平衡等等。作为人类追求公平和公正的理想,DAO(去中心化自治组织)的精神并没有终结,The DAO项目今天的失败或许是明天DAO成功之母。对众多区块链的技术爱好者来说,事件的每一步演变,都蕴含了无数的技术看点,从中也一定收获良多。更多的技术细节,留待日后再和大家分享。

硬分叉后,旧链的算力并没消失,一度增强到920GH/s

后记:

The DAO事件三部曲就此落幕了,然而,The DAO的“后遗症”却仍然萦绕在以太坊中,情节也更加跌宕起伏。且说硬分叉过之后,The DAO资金追回,以太坊也该浴火重生了。不料,本应自然消失的以太坊旧链却垂而不死,而且居然活了过来,以太坊的网络一分为二,出现了具有相同历史账本的新旧两条链,如同宇宙瞬间分裂成两个一模一样的平行世界,事件在两个世界里重复地发生着。例如,一块钱突然变成了两块钱来用,在两个世界里很多奇妙的事情出现了。欲知后事如何,请听下回分解。(未完待续)

欢迎文后留言和讨论!欢迎关注亨利笔记

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 亨利笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档