引介 | DAO可盗,非常道-惊天魔盗团和以太坊激战史上最大众筹

Henry Zhang   |     |   409 次阅读

声明:笔者持有少量DAO币和以太币作为研究用途,即使全部被盗,也依然吃得香睡得好。本文更多从客观的角度去探讨问题。

2013年,魔术犯罪题材影片《惊天魔盗团》在全球惊艳上映并斩获了票房口碑双赢。三年后的2016年6月,《惊天魔盗团2》将在中国大陆隆重上映。就在公映前一周的6月17日下午,互联网上的惊天魔盗团居然力抢头条,而这次的作案目标,竟然对准了全球最大的众筹项目-The DAO!

看过笔者上期文章《道or悼?三分钟看懂史上最逆天的区块链众筹项目The DAO》的读者,相信对The DAO不会陌生。这个生在聚光灯下的宠儿,仿佛已经注定了未来是呼风唤雨的江湖老大。然而,DAO高一尺,魔高一丈!虚拟世界里卧虎藏龙,怕的就是你不够高调!本次剧情,起始于The DAO的智能合同上有个漏洞被黑客利用,竟然盗取了360多万个以太币(ETH)的资金(约值5千万美元),占到The DAO众筹额的30%以上,而且理论上资金可被全部偷走。如果不能挽回这些损失,未来的老大基本上会被扼杀在摇篮里。《道or悼?》一文中指点江山展望The DAO的前景,却万万没有料到The DAO有可能会因盗而悼。这件互联网的事件立刻以互联网的速度在以太坊社区引发了轩然大波,各方智囊推波助澜,以致以太币和DAO币价格也出现巨幅震荡,有交易所还暂停了以太币/DAO币的交易。


黑客控制的以太币,价值约5千万美元

这次的漏洞由The DAO智能合同的代码中一个bug引起的,黑客利用精心设计了智能合约,通过间接递归调用,可无限制地把资金转到自己控制的子DAO账号中。The DAO的团队已经在数天前获悉有这样的bug,也更改了代码,但可惜的是,代码还没更新到以太坊的中,攻击就发生了。试想一下,上亿美金的“肥羊”摆在那里任人宰割的时候,世界上是不会有太多“好先生”的。

有读者不禁要问,既然已经知道被攻击了,为什么不能赶紧采取措施阻止剩余资金继续被盗呢?个中原理和The DAO的去中心化机制有直接关系。智能合约的代码一旦发布出去,就无法更改,除非事先留有可应急”刹车”的后门。但是The DAO的目标是完全自治的去中心化组织,绝对不允许有这样的后门。因此,即使发现了代码中的bug,大家也知道资金被转移到了哪个账号,却无法制止这种行为,所有人都只能眼睁睁地看着钱被偷走而无能为力。那能不能用“简单粗暴”的拔网线或关机来制止黑客的攻击呢?很遗憾,这种传统的杀手锏,在区块链网络根本无效。因为账本记录在世界各地、属于不同主人的数千台计算机中,谁有本事把全部机器都断网断电呢?这个问题大家早已知晓,只是没料到这个娄子会捅得这么大。也许这就是追求去中心化魅力的代价吧。


以太币价格巨幅波动

难道The DAO就这样坐以待毙了吗?象所有的剧情一样,在低维度看似无解的问题,或许在更高的维度却是柳暗花明,如同在初等法院打不赢的官司,可到高等法院去申诉一样。The DAO是以太坊平台的应用,由于问题影响巨大,到了”too big to fail”的程度,终于惊动了以太坊这个“高等法院”。包括创始人Vitalik在内以太坊核心团队和社区一起迅速行动,全力阻止黑客的攻击。目前的方案分两步:

1.采用软分叉(soft fork)技术,把The DAO及其子DAO的账号锁定,不允许发生任何交易,相当于冻结了黑客的以太币,使其无法出售获利。软分叉实际上是在以太坊软件中增加临时性的规则(例如不允许某账号转账等),修复一些严重的问题。好处是不影响任何以太坊上已发生的交易,无需回滚区块链的数据,这是任何区块链平台都不可动摇的宪法基石。

2.在软分叉的基础上,实施硬分叉(hard fork),把黑客账号的以太币重新转回到The DAO手中。这种改动需要永久性修改以太坊的代码,使得所有用户都不承认黑客手上的以太币是有效的,并且相关的以太币要重新记账到The DAO名下。这个方案相当于修改The DAO和黑客的账户,有违区块链不可变更的原则,因此社区争议较大。

硬分叉意味着社区走一个方向,把黑客留在另一条岔路上。(图片来自coindesk)


上述两步的实施都需要时间在社区里充分讨论和争取多数成员的共识,特别是矿机节点的认同。幸运地是,The DAO设计中有缓冲期,黑客控制的以太币要在27天后才可拿走。正是这宝贵的27天,为分叉方案的论证、代码编制调试等留下了足够的时间。

至此,正当人们以为危机已经基本化解的时候,上述方案却引起了社区激烈的争论,参与者包括程序员、研究员、分析师、投资人、律师等各方人士,辩论的焦点回到了老子《道德经》中的经典六字悖论:“道可道,非常道”,也就是求证天地万物最崇高的道应该如何描述。方案支持者认为,通过更新以太坊代码,使得黑客的阴谋没有得逞,伸张了正义,维护了平台的公平性,也维护了“道”。尽管这次问题没出在以太坊平台本身,但The DAO若失败,对以太坊也是个很难抹去的污点。支持者绝大多数是The DAO或以太币的持有者。反对者则无法接受以太坊团队为单个应用(The DAO)买单而修改平台规则,这样违反了区块链不可篡改数据、去中心化的根本原则,将大大损害以太坊的公信力和公正性,恰恰是失道之举,完全可以说得不偿失。两派争论的焦点是到底是保护The DAO用户的利益重要,还是维护以太坊的去中心化的公正性更重要?(是不是让您想起了FBI和苹果互撕的商业及道德悖论?)国内最大的以太坊爱好者论坛开了个议题收集各方意见,反馈给以太坊官方,大家可以前往发表看法:http://ethfans.org/topics/361

笔者虽然是The DAO和以太坊的参与者,但更多的是从客观角度去看待这个问题。人类发明的各种软件、工具、机器等系统,实质上都是为完成某个目标而设计的。区块链作为去中心化的系统,是为了实现在没有中间人的情况下,保证数据的真实性和完成特定业务逻辑的方法。当区块链应用(如The DAO)出现故障,甚至造成投资人重大损失的时候,为了盲目地坚守去中心化和数据完整性而不做任何纠正,绝对是舍本逐末的做法。何况此次修改规则,以太坊团队只是提出建议,执行还需要多数参与者(主要是参与记账的矿机)认可才有效。由此看来,这提议还是个去中心化的决定,只不过达成共识的是理性的人类,而不是麻木的机器。之前比特币就出现过类似故障,也是通过社区认同的方式,用硬分叉方式解决了问题。笔者认为从目前社区的反馈来看,大部分人还是支持分叉方案的。不过,春江水暖鸭先知,我们不得不承认,当人类道德无法超越利己和自大时,即使是颠覆性的区块链和以太坊技术,某些情况下,仍然有可能会出现多数群众暴力倾轧少数人的局面。

行文至此,本想就此打住,怎奈一波未平,一波又起,网上竟出现了自称黑客发出的“公开信”,又掀起了另一场的大辩论。公开信宣称,他(黑客)是合理合法地执行了The DAO的合约代码,因此任何人没有任何理由可以剥夺他拥有的以太币,他保留起诉的权利。尽管这封信的数字签名无法确定是否来自黑客本人,但是其冠冕堂皇表达的道理却令很多网友惊讶得“竟无言以对”,网上也获得了不少人的赞同。


黑客的公开信

这个问题有点象从银行柜员机取钱,柜员机出错多吐了钱,那么取钱的人到底有没有过错,是否可以合法地保留取到的钱?去中心化的智能合约是个新生事物,按照设想是完全由代码控制运作的。那么合约出错造成的损失,应该由谁负责呢?现行法律都没有关于智能合约的条款,如果控告The DAO的众筹股东,他们分散在世界各国,打这场官司都不知道按照哪个国家的哪条法律来判决好呢?如果控告的主体是以太坊基金会,也似乎不合理,因为最终决定是否执行分叉决议的是矿工节点,他们也分布在全球。这个问题没有简单的答案,也是社区要好好反思的地方,至少在智能合约执行前要约定好纠纷的解决方式,将来或许要出现数字法庭了。

The DAO从诞生的那一刻起,就注定是场艰难的试验。这次暴露出来的问题是个好事,给社区上了深刻的一课。在去中心化的平台上运行智能合约代码,应该具有合理的应急机制和处理纠纷方案,如规定投票等方式。无论这场大戏的结局如何,事件必定载入史册。相信经历了此次风雨,以太坊平台能够变得更加健壮完美。

欢迎留言和讨论。

本文首发于微信公众号:亨利笔记,更多文章,可扫码关注:

 
3 人喜欢