资讯 金融科技
此为临时链接,仅用于文章预览,将在时失效

彭博社深度还原:The DAO 大劫案始末

作者:momomomomo 编辑:温晓桦
2017/06/26 22:31

雷锋网AI金融评论按:距DAO攻击发生已经一年时间,有足够的时间来评估究竟出了什么问题。彭博社近日刊文,深度还原了这桩加密数字货币奇案。雷锋网编译如下:

夏季感冒是最糟糕的,Emin Gün Sirer从他1岁儿子身上抓到了一只调皮的臭虫。这是在2016年6月13日星期一,这位康奈尔大学计算机科学系副教授流泪、鼻塞,在病床上工作。Gün无法离开他的笔记本电脑,他有另外一个臭虫(bug)要解决,他担心一行代码的错误可能导致2.5亿美元被盗。

这些代码可不普通,这是区块链行业最新、最具突破性的软件设计的核心,这种新颖的组合结合了去中心化计算与加密系统,给予了诞生于2009年的比特币世界新的生命。从它诞生时起,区块链从金融业到医疗业的应用前景已经开始让企业和政府浮想联翩。而这位土耳其出生的教授正在探索的是比特币的下一个飞跃,这就是以太坊区块链。

东窗事发

比特币的移动是从一个用户到另一个用户,而以太坊区块链可以承载的是名为智能合约的计算机程序——本质上是通过代码而不是法庭来执行的协议。这意味着它可以自动化债券支付的生命周期,比如说,或者确保制药公司能够验证其药物的来源。 然而,智能合约也是新兴的事物,和所有的软件一样,可靠性依赖于软件代码,而Gün很确信他发现了一个大问题。

在给他的一位研究生学术Philip Daian的一封邮件中,Gün指出他正在研究的智能合约在第666行代码可能存在问题。Gün担心黑客可能利用这个bug像ATM一样无限制地提取数百万美元。

涉及的资金共有4亿美元,这个惊人的金额在一个去中心化的自治组织DAO计划内。The DAO是一个去中心化的风险投资基金,以智能合约的形式运行在以太坊区块链上。它也是一个盈利性的DAO(去中心化自治组织),它将利用自己掌控的以太币资金通过投资以太坊上的应用为其成员创造价值。在The DAO创建期,任何人都可以向它的众筹合约发送以太币,获得DAO代币。

这就是The DAO的众筹。The DAO不受任何人或者组织控制,持有DAO代币的成员投票决定是否投资以太坊的应用。这些是真正的钱,4亿美元,这意味着为建立一个更好的世界,每一分投入都有风险。

Gün一直在跟踪和公布DAO设计的缺陷。 几个星期前,在5月27日,他和两位同事一起敦促投资者停止买入DAO,直到安全问题得到解决。 不过现在已经太晚了,DAO这样的智能合约是完全建立它们的代码之上,一旦发布在以太坊区块链上,DAO的代码将无法修改。比特币基金会的联合创始人Peter Vessenes,也指出了这个智能合约中的安全缺陷,但是Gün似乎是第一个明确指出危险的缺陷。 问题是代码是如此新,没有人知道会发生什么问题。

Gün也有疑虑,这甚至不是他的工作,他这样做只是因为有趣。他和他的学生都不确定这个代码bug是否会造成实质问题。

Gün说,“我们不会每次发现一个可疑的bug就发出警报”。所以他去睡觉了——为了解决他的感冒。

四天后Christoph Jentzsch躺在家里的地板上,深吸一口气,平复自己的惊慌心情。这是星期五上午,Jentzsch创造的DAO正在受到攻击。

Gün是对的。

这就是史上最大的数字抢劫案。去年,黑客从孟加拉国中央银行窃取了8100万美元,但DAO的攻击完全不同,这次攻击没有办法去干预,正如五月份的全球WannaCry ransomware攻击在计算机操作系统中的弱点一样,DAO黑客暴露了智能合约安全性的早期缺陷,最后的结果导致了一场白帽黑客VS.黑帽黑客之间奇怪的、充满未来主义的围绕DAO战争。

DAO的根源来自于Jentzsch从互联网众筹中借来的想法。32岁的Jentzsch是一位理论物理学家,Jentzsch的公司Slock.it通过ICO融资。但是为什么每个新创业公司都要为自己的ICO提供一个计划?Jentzsch想为什么不提供一个点巨大的基金来投资他们?

他于2015年11月在伦敦的DevCon 1上向世界介绍了自己的想法。“创建公司的方式是什么?”Jentzsch问他的观众。 “当然,它必须是一个DAO”,它将像这样工作:以太网,像比特币这样的数字货币将被用于资助和开发应用程序,这些东西就像使用类似于iTunes或iTunes的音乐应用程序。投资者将用以太币购买DAO代币; 代币将允许他们投票支持他们喜欢的项目。 如果他们支持的项目赚钱,则代币持有人分享利润。

他用六个月的时间创造了DAO,Jentzsch认为The DAO能够融资500万美元。从4月30日到5月28日,DAO大肆融资1.5亿美元。

但是最初为什么会有人投资DAO呢? 这与数字自由主义的压力有关,这是以太坊社区的核心,就像一系列导致比特币诞生的信念:认为比特币是第一个全球性的货币,它的使用不能被政府或公司阻止; 除此之外,比特币几乎是不可能被破解的。 以太坊是另外一个层面,这是一个无审查的电脑,这是前所未有的,也有一点可怕。

习惯于夜晚与北美的同事保持联系,Jentzsch经常在河边慢跑或划船锻炼。 然而在那个星期五上午,他有更紧迫的任务,把从地板上起来,处理这次攻击事件。 “我进入了紧急模式:不要试图拯救DAO,”他说。 “不,已经结束了。

事情远没有结束

几个小时后,Alex Van de Sande在里约热内的公寓中醒来。 这个娃娃脸的以太币开发者出生在巴西的一个小渔村,在三岁随他的父母搬到里约。他在Reddit和Twitter的以网名“avsa”著称。他的Skype接收到了无数的消息,随后他转身对妻子说:“记得我告诉你的不可能被黑掉的以太坊”她点了点头。“它已经被黑了。”他告诉她。

他的第一个想法是让把他在DAO里面的代币取出来。 他拥有约10万代币,当时价值约15,000美元。 他是Ethereum Wallet应用程序的首席设计师,这个程序允许用户与区块链进行交互,Van de Sande匆忙登录,但密码错误,他又试了几次,成功登录了,他的恐慌消退。他意识到不应该放弃DAO,而应该尝试挽救它,为了做到这一点,他需要Griff。

Griff Green曾在洛杉矶担任按摩治疗师,是世界上少数几个拥有数字货币硕士学位的人之一。 他是第一个将攻击事件告诉Slock.it的联合创始人、Jentzsch的兄弟Simon的人。

当时,Green已经为Slock.it工作了大约六个月,当天早上他在Jentzsch妈妈家里醒来, Jentzsch提供了一件备用的卧室给Green。通过他广泛的联系人,Green开始尽可能确认与DAO交互的人的身份,试图从中区分敌人和朋友。

当天早上在Mittweida的Jentzsch的妈妈家里醒来。 Jentzsch是九个孩子之一,所以他的母亲有一个备用的卧室,她可以把绿色放在几天。 使用他广泛的联系人,绿色开始确定尽可能多的人,他们可以与DAO进行交互,以便让陌生人发送图片或扫描其ID,试图从敌人中分拣朋友。

攻击停止了

然后发生了一件奇怪的事情:攻击停止了。在攻击开始的六个小时内,攻击者已经设法窃取了DAO的30%的1200万个以太币,当时价值约5500万美元。Van de Sande说:“我们甚至不明白为什么这个人停了下来。

Green迅速去保护攻击者没有偷走的剩下的70%。 Green和其他两三个恩,这就是被称为被称为侠盗罗宾汉的白帽军团。他们设计出一个大胆的优秀计划来拯救的DAO。 为了挽救DAO,他们必须窃取剩余的以太币,然后将其交给合法所有者。

在他们进行这一计划的时候,内部出现了质疑的声音,没有人知道他们所做的是否合法。他们的行为会不会和他们想要阻止的盗窃行为一样糟糕?必须有人这么做,“必须有人按下按钮。”

在攻击发生的前一天晚上,以太币的价格达到了历史最高的20美元。攻击事件后以太币下跌了15美元,近5亿美元的市值蒸发。按照这个价格,DAO仍然持有1.25亿美元。而白帽军团则担心攻击再一次袭来,他们可能是唯一的防线。

在这一点上,DAO就像电影异性中启动了自毁程序的宇宙飞船。为了求生,必须使用逃生舱。

DAO的投资人不得不启动类似的程序来部署逃生舱,以将它们的以太币移出DAO。这个逃生舱的位置就在代码bug的地方。所以罗宾汉白帽团队必须利用这个漏洞,并且他们只有一小段时间、只有几个逃生舱可以利用。

在发起攻击前几分钟,Van de Sande开玩笑地说:“我们去抢银行!”没有人笑, “不是每个人都很喜欢幽默,”他说。

在他的公寓里,Van de Sande准备按下笔记本电脑上的钮。 然后突然间,他断网了,路由器宕机。“什么情况?”他说。他还有不到30分钟的时间来执行罗宾汉白帽团队的黑客攻击。他疯狂呼叫巴西互联网服务提供商NET,得到的回应是一个机器人的声音“附近发生了一个网络问题。”他讽刺说“我们试图从一个机器窃取几千万美元,但遭到了另一个机器的伏击。”

“然后我们错过了这次机会,”他说。 窗户期关闭。 他即将拯救DAO的喜悦被网络运营商打破。随后他出门遛狗,然后爬到床上,感到挫败。

第二天早上,Van de Sande重新召集罗宾汉白帽团队来潜入另一个逃生舱。但每个人都很忙,不能聚在一起。第二天早上是星期六,Van de Sande试图重新召集罗宾汉集团来渗透另一个逃生荚。 但是人们很忙,不能聚在一起。 “我们像史上最糟糕的黑客,”Van de Sande说。 “我们同时受到互联网和家庭的不利影响。”

这场战争中,他们的对手究竟是谁?

没有人真的知道,但有一些线索。 攻击者使用的一个地址是0xF35e2cC8E6523d683eD44870f5B7cC785051a77D。和区块链的其他内容一样,用户的地址是一个匿名的字符串,但每个地址都在区块链上留下了公开的记录。

为了完成他的攻击,攻击者需要创建一个与DAO进行交互的合约,以缓慢吸干DAO当中的以太币。 Green说,他在6月15日这样做了,并在两天后的凌晨进行了部署。 一旦激活,攻击合约开始通过攻击者的帐户每三到四分钟发送约4,000美元的以太币,以吸干DAO。

但是最初资金的原始来源是哪里呢?为了与以太坊区块链交互,每一个攻击合约都需要两个地址提供资金,但是进一步追溯很困难,这是因为第二个地址使用了一个名为ShapeShift的交易所,在6月14日向其账户发送52个以太币,ShapeShift不会收集有关其用户的任何信息,并在10秒内将其转换为另一个虚拟货币(如比特币) 。 虽然使用ShapeShift有正当理由,但它也是一种很好的方法来洗白数字资产记录的途径

在攻击合约停止工作后,这个小偷需要再次部署,但这个黑客终止了。 (Green说,攻击停止的一个可能原因是黑客的代币被破坏,这意味着他没有办法利用这个bug)

我们只能了解这个区块链记录有限的信息,数字资产交易所了解的更多,据一家交易所的内部调查得出结论DAO攻击者可能是位于瑞士的一个团体,而不是一个孤狼。根据一家匿名公司的CEO,即使是匿名的区块链,交易所也能够分析客户的交易活动的位置。这位CEO表示,交易所与联邦调查局波士顿办事处分享了分析,但从去年10月以来没有进一步联系。

Gün表示他也和FBI波士顿和纽约分局的探员和纽约州总检察长办公室进行了交谈。但协助这种调查是非常困难的,因为攻击者不会留下蛛丝马迹。

“我很惊讶,为什么无法追溯到到底是谁干的?Slock.it的第三位联合创始人Stephan Tual问道。“我至今仍然不明白,那个人的所作所为是极其不道德的。”

在星期四,攻击发生后的四天后,黑客回来了,以某种方式恢复了抢劫。罗宾汉白帽集团担心这一刻会来临,并且做好了准备。 星期天早上他们终于设法在网上召集并成功地渗透了一个逃生舱,但已经停止了反击。现在他们别无选择。

“老实说,我很激动,”Green说。 “这是我遇到的最疯狂的事情。”

是否合法仍然是一个没有答案。

编程专家Vessenes说:。 “他们在做什么几乎肯定是非法的,但他们声称这是为了更多人的利益。”现在,Van de Sande的工作让以太坊社区知道罗宾汉集团的反击是良性的。 在Twitter上,他写道:“DAO被安全地排干,不要惊慌。”

Van de Sande说:“我们逃离了母舰,但是现在我们和异形一起逃离太空,”Van de Sande说。 这是一个大问题。 由于Jentzsch写了他的代码,罗宾汉集团将不得不等待几个星期才能确保他们恢复的以太币。 然而,如果攻击者与该组织在一起逃跑,他可以跟随他们 - 所谓的缠扰攻击。 如果黑客跟踪罗宾汉集团,以太币根本不是真的安全。

Van de Sande说:“只有当其中一方停止争斗的时候才会结束。 这实质上是DAO战争的核心,这是不得不进行的无休止的战斗,以保持恢复的以太币安全。 但愿能有一种方法可以一劳永逸地扭转盗窃行为。

DAO和死亡原则

接下来发生的事区块链诞生至今最最奇怪和最有争议的事情之一。

由于罗宾汉白帽团队的挽救措施在私下进行,产生的激烈的讨论。白帽黑客并不是唯一想要保存DAO的人。 Jentzsch几乎全天候工作,向DAO投资者发出了数百个要求,他们应该做什么。 23岁的Vitalik Buterin,他在20岁之前创造了以太坊区块链,成为社区的焦点。

简而言之,他们可以做的是更改以太坊区块链来修正DAO,但只有当大部分运行这一网络的计算机同意,软件才能进行更新,摆脱掉漏洞,就好像攻击从来没有发生过。

这一过程被称为硬叉(hard fork)。这一决定引发了强烈的反应,一年后仍然存在争议,无论是在以太坊社区还是比特币用户都坚持区块链的历史不用改被篡改,有些比特币用户看到硬叉在某些方面违反了最基本的价值观。

有些比特币用户看到硬叉在某些方面违反了最基本的价值观。在以太坊社区内,世界各地的电脑节点都接受了这个观点。 包含在1,920,000区块中,对DAO的修复很简单,只做了一件事 - 如果你投资了DAO,现在可以取出来。

与DAO有关的一切都是参数:规则,if-then语句和更多的规则,在程序设置松散之前都已经完成。 其中一个参数表明,任何想要将其脱离DAO的人都不得不等待一段时间 ,最初的请求后27天,然后再等7天。

这个由Jentzsch写的故障安全也适用于攻击者。 所以即使有人有效地抢劫银行,他也不得不等待34天才过街,让他逃走。 在等待的时候,钱又被偷回去了。

回到康奈尔大学校园,Gün带着香槟参加他正在教学的课程,他在瓶子上贴上了标签:“恭喜你成功Fork”

然后发生意外事件。 被攻击的最初的以太坊区块链继续增长。硬叉就像是一根树的分支,在主茎的末端以不同的方向发芽,该一段的树枝应该在硬叉之后枯萎,但是随着一小群用户继续处理该版本的区块链交易,它继续保持增长,而不是死亡,

价值近5300万美元的以太币被转移到绰号为“Dark DAO”的合约对象当中。这起攻击事件的机制,已引起了广泛讨论。此后, 白帽黑客利用同样的漏洞,将the DAO剩余的资金转移到“白帽DAO”罗宾汉白帽团队持有大约840万美元,因为在这个平行的宇宙中,他们仍然控制着已经恢复的DAO资金的70%。

罗宾汉白帽团队不敢相信。 Van de Sande说:“我们尽全力避免这种情况,但是现在我们被拖回到这场战斗中。

现在的比特币支持者可以通过购买经典的以太坊来支持他们的昔年,这也是比特币圈子重量级人物创业家Barry Silbert所作的。“记住,原来的区块链是经典的以太坊”。他的公司最近发布了一篇投资论文,概述了经典以太坊的优点。一节标题总结了理论基础“DAO和死亡原则”。

瑞士数字货币经纪商Bity.com的联合创始人Alexis Roussel仍然惊奇于硬叉和区块链的狂野世界他说:“这是传统金融业不会发生的事情。” “如果苹果公司发生了什么事,你不会突然出现苹果的克隆版本。”

究竟出了什么问题

距DAO攻击发生已经一年时间,有足够的时间来评估究竟出了什么问题。

Van de Sande德渴望继续前进。 “这真的只是一次插曲,”他说。 “我们准备翻过这一页,把DAO的故事留在我们身后。”

Green在火人节上组织了一次以太坊会议,他仍然保持着他的幽默感。“罗宾汉白帽团队只是一个表演”,他笑着说。“我希望电影能拍得比实际更好。”

格林呢,在这个夏天在内华达州沙漠的燃烧人节上组织了一个灵丹妙药,他们一直保持幽默感。 “罗宾汉集团只是一个节目,”他笑着说。 “我希望电影能拍得比实际更好。

对于bug本身,很明显许多聪明人在Gün之前看过代码,但错过了一个重大的缺陷。代码中的命令顺序允许DAO代币持有人从投资中获得任何利润。

如果代码的顺序正确,攻击本来是不可能的,Jentzsch说,而实际上这成为黑客历史上最大的后门之一。

如果第666行的首字母”T“是一个小写的”t“,那也将阻止黑客入侵。

Jentzsch有很多遗憾,但坚持认为没有人知道666-667行代码中的具体问题(其他观察家指出其他方面的缺陷,只是不在这里)。 “根本没有什么区别,”他说。 “如果你不知道在安全审查中要寻找什么,你根本找不到。”

Gün还是放过了这个bug,Green的情绪和Gün相关“我其实真的很生气”,Green说,“他开始吹嘘他是如何发现这个错误的。”他补充说,“不要告诉任何人,他是非常不负责任的”。然而Green仍然非常尊重Gün,并表示他们已经做出了修改。

Gün说“我认为这是一个潜在的问题。”但是他曾咨询过他的学生Daian。Daian说过这个漏洞是“不可利用的”,Gün说如果他确定了危险,“那我会告诉人们的。”

对于攻击者(无论他是谁)和愚蠢的经典的以太坊(以太坊原来的链),Gün评价说说:“非常好,他应该套现”。硬叉证明不仅仅是DAO需要修复,而是以太坊区块链本身。他说:“这个错误也在系统方面。”

对智能合约、对以太坊区块链的担忧已经消失,至少根据以太币的价格,市场的反应是这样的。

攻击发生后的约9个月内,以太币从10美元涨至12美元,然后在3月份开始飞涨,截至6月12日价格为341.19美元。

原来的Ethereum也上涨了,现在交易价为18.71美元。换句话说,两种版本的以太网都是可行的。展望未来,你宁愿选择相信谁?硬分叉之后,攻击者最终已经离开经典以太坊,带走了大约6740万美元。

Source:Bloomberg,雷锋网编译

长按图片保存图片,分享给好友或朋友圈

彭博社深度还原:The DAO 大劫案始末

扫码查看文章

正在生成分享图...

取消
相关文章