风险提示:必查客提醒,根据银保监会等五部门文件,广大群众需理性看待区块链,树立正确的货币观念和投资理念,切实提高风险意识!
必查客

区块链投诉维权平台

行必查·知可为

360万枚ETH被盗,历史上最大的黑客攻击事件回顾

必查客
查查2022/2/24
420

摘要:2月22日,《Unchained》主理人Laura Shin在Forbes上发文表示,据其发现的相关证据显示,以太坊2016年The DAO事件中黑客中的身份疑似为TenX联合创始人兼首席执行官、奥地利程序员Toby Hoenisch。

  2月22日,《Unchained》主理人Laura Shin在Forbes上发文表示,据其发现的相关证据显示,以太坊2016年The DAO事件中黑客中的身份疑似为TenX联合创始人兼首席执行官、奥地利程序员Toby Hoenisch。Laura Shin表示,根据其对嫌疑人的数据追踪以及区块链分析公司Chainalysis的链上分析,她锁定了TenX位于新加坡的节点地址。这起六年前发生的史上最大的黑客攻击事件,又勾起了很多人的回忆。

  “当时我看到以太坊创始人Vitalik突然发了一句话,说The DAO被黑客攻击了,钱正在被黑客拿走,我开始还以为是玩笑,然后我就懵了。”加密货币钱包ImToken的联合创始人Daniel说到。

  360万ETH,当时价格超过了6000万美金,这是这场影响深远的黑客攻击事件当时被盗的金额。如果按照ETH的历史最高价格计算,360万ETH,价值接近175亿美金。

  价值6000万美金的两行代码

  直到现在,很多人在想起6年前加密行业这起黑客攻击事件时,估计还会心有余悸。

  大家都知道比特币是一个安全地记录了所有转账记录的全球账本,可以实现无障碍的点对点转账,以太坊可以看做比特币的2.0版本,可以把它看做是一台「全球计算机」,开发者基于以太坊,可以高效、快速地开发出很多上层应用。

  在这样一个系统之上,很多致力于解决现实痛点的项目开始出现。当时,这种通过代码自行运作、不依赖个人主观意志的运作方式被很多人追捧,也是在这样的背景下,The DAO诞生了。

  它其实是由一家名为德国初创公司Slock.it发起的项目,这家公司当时做的是实体资产的上链业务,但因为很难在传统行业中融资,他们就萌生了一个大胆的想法:既然没人投自己,为什么不造出一个投资机构?

  分布式自治组织的理念被他们引入,通过利用合约把一群利益相关者(投资人)把钱放到一起,如果有人拿着商业计划书来寻求融资,所有人投票决定是不是要投资,如果成功了,大家共享收益。

  它整个过程,其实是这样运作的:用户向它提起希望获得投资的proposal,在提案公示后,如果被超过半数以上的用户投票同意,那么这个虚拟「VC」就会拿出一笔钱,投给项目。被投项目需要保证将来其业务会通过这个合约连本带利,持续回馈给这个机构,而「VC」里的每个LP都能分到相应的收益。

  The DAO这种完全凭借智能合约运行的方式得到了社区追捧。项目在2016年4月底开启募资,不到一个月时间,就吸引了11000名投资者参与,最终成功募集了1150万枚以太坊,这么多数量的ETH,占到了当时以太坊全网15%的流通量,总价值超1.5亿美元。也让The DAO成为了加密史上募集到以太坊数量最多项目。

  但危险的种子,在项目融资大获成功的消息传出时,就悄悄埋下了。

  当时,连团队都没想到,项目能融到那么多钱,自信的他们,把所有的ETH都放在一个地址里。这是一件非常可怕的事情,稍微有点常识的人都知道,如果你手上有巨额Token,最好是把Token分散存到多个地址,即便丢失了一部分,也不至于荡然无存。

  木秀于林风必摧之。The DAO成了别有用心的黑客攻击的「靶子」。

  事实上,早在2016年5月份,以太坊团队成员就曾呼吁过,这类DAO项目可能存在安全问题,并给出了几种可能的攻击方案。6月11日,以太坊另一个项目也发现合约就存在这样的问题,所幸处置及时,没造成损失。

  不过,即使团队也收到同样的安全报告后,他们还是没引起重视,以为漏洞不会产生威胁。另外,当时已经有数十个提案等着投票,如果合约暂停进行查验,估计社区也不能接受。

  就在所有人自以为万事大吉的时候,危险降临了。

  黑客非常聪明,他先在6月15日悄无声息地写了一个攻击合约,安静地埋伏两天,直到6月17日才开始行动。利用合约的漏洞,黑客从主合约中成功转出了超360万枚ETH,转入了一个child DAO中,这是一种递归式分割的方式,最终将收集到的币单次转走了。

  出现问题的是下面两行代码:代码没错,就是顺序反了。

  有人分析,如果程序员把两行代码的顺序上下换个位置,各个功能没有变化,但却能避免漏洞产生,没准The DAO就成功了。

  当然,这也只是美好的幻想,黑客就是利用了这个漏洞,成功转移了3百多万枚ETH,引起了加密社区的轩然大波。

  这次攻击,让项目丢失了360万枚ETH,按照当时的价格,总价值超过6000万美金,如果按ETH历史最高价计算,这笔丢失的资产近175亿美金。这个消息很快影响到二级市场,以太坊价格从20美金,跌破13美元,下跌幅度超30%。

  不过,狡猾的黑客没想到,因为child DAO的合约还处在创建阶段,有27天的锁定期,所以,他在短时间内也转不走这笔钱。

  留给所有人的时间只有短短二十几天,大家必须在这笔钱被转走之前作出决策。

  攻击发生后,Vitalik发了文章,还原了The DAO被攻击细节,同时也给出了解决方案。他提议社区对以太坊区块链进行一次软分叉,把与之相关的交易认做无效交易,避免攻击者提走被盗的ETH。之后,再发起一场硬分叉投票,再将这笔ETH找回来。

  币还没转走,以太坊社区就放出了这么一个大招,黑客坐不住了。

  6月18日,这位自称主导了这场攻击的黑客现身,堂而皇之地发了一封致The DAO和以太坊社区的公开信,他表示,自己对社区定义他的行为是「盗窃」非常失望,声称他获得的ETH是合法并正当的,「我的律师事务所表示这样的行为完全符合法律」。

  不过有人发现,他留下的签名是假的,所以这封公开信可能是有人伪造。

  6月19日,一位名为「daoattacker」的用户还在讨论该事件的slack channel出没,在一场匿名对话中,他表示会采取措施暂停有组织地对他财产的「盗窃」行为,「很快我们就会制定一个智能合约奖励那些不支持软分叉的矿工,共计100万枚以太币和100枚比特币。」试图怂恿矿工不支持分叉。有意思的是,他还给讨论区留下地址的人发了几枚btc。

  「黑客」的意思很清楚:不认可以太坊分叉。不过,对于他的辩护,社区大多数人可不会理睬。

  很快,以太坊社区发起了一项是否支持硬分叉的投票,近97%的ETH持有者投出了赞成票,只有少数人不同意分叉,最终硬分叉方案一致通过。

  2016年7月15日,具体硬分叉方案公布,退币合约开始建立,由于7月21日是最终期限,硬分叉执行的最终期限确定,超过85%的算力支持硬分叉,以太坊硬分叉成功。

  如今,我们在回顾这起加密世界的黑客攻击事件时,会发现这场攻击,不仅击垮了The DAO,还有另一个更糟糕「副作用」:很多人开始怀疑,去中心化自治组织是不是空想,「Code is Law」到底是不是空中楼阁?以太坊社区确实是出于挽回大多数投资者损失的目前,发起了硬分叉投票,并终止了一场攻击的发生。

  但从某个角度来看,「黑客」说的不无道理:The DAO本身就是个智能合约,它的仲裁人是自己,任何其他外部节点都不能改变已经制定好的规则。而以太坊官方的做法则推翻了这种规则

  很多时候,引发黑客攻击的事件可以在开发者编写代码的工程中尽量避免,但是加密世界的黑客,能利用的不仅仅是一行行的代码,还有认为治理中的漏洞。

免责声明:本文不构成任何投资建议,文章内容请读者谨慎对待!