回顾:以太坊ETH硬分叉事件的前因后果

By admin in 科技中心 on 2019年2月16日

原标题:当我们谈论区块链安全时,我们在谈论什么?

项目背景

The
DAO项目是区块链物联网公司Slock.it发起的一个众筹项目。原本该公司只想采用DAO(去中心化自治)来运作自己的系统Universal
Sharing Network (USN)。后来发现这个机制也适合其他项目,因此决定创建The
DAO,意为“DAO之母”

宇宙就是一座黑暗森林,每个文明都是带枪的猎人,像幽灵般潜行于林间,轻轻拨开挡路的树枝,竭力不让脚步发出一点儿声音,连呼吸都必须小心翼翼,他必须小心,因为林中到处都有与他一样潜行的猎人,如果他发现了别的生命,能做的只有一件事,开枪消灭之。——《三体》

事件经过

由于智能合约上存在重大缺陷,当时区块链界最大的项目,The
DAO被攻击,具体经过如下:

6月15日左右此攻击合约被创立,6月17日攻击开始,Vitalik
Buterin得知攻击消息后立刻通知了中国社区

TheDAO监护人提议社区发送垃圾交易阻塞以太坊网络,以减缓DAO资产被转移的速度。

随后V神在以太坊官方博客发布[紧急状态更新:关于DAO的漏洞]公告。解释了被攻击的一些细节以及提出软分叉解决方案,不会有回滚。不会有交

易和区块被撤销。软分叉将从块高度1760000开始把任何与 The DAO和child
DAO相关的交易认做无效交易,以此阻止攻击者在27天之后提走被盗 

的以太币。这之后会有一次硬分叉将以太币找回。

上文发布后攻击暂停。

以太坊社区的Ethcore团队发布了支持软分叉的Parity客户端。

6月19日自称攻击者的人通过匿名访谈宣布会通过智能合约的形式奖励不支持软分叉的矿工100万以太币和100比特币,来对抗以太坊基金会提议的软分叉。

6月19日攻击又起,但只有少量DAO被分离。

6月22日白帽黑客开展罗宾汉行动将TheDAO资产转移到安全的子DAO中。

随后黑帽黑客(攻击者)开始攻击白帽黑客所创建的为安全转移TheDAO资产的智能合约。

7月20日晚,备受瞩目的以太坊区块链硬分叉已成功实施,中国的以太坊矿池BW.com成功挖得以太坊第192,000个区块,几秒钟过后,该矿池还

挖到了新区块链的首个区块。也预示着由未知黑客持有的价值约4000万美元的以太币,已被转移到了一个新的地址

(0xbf4ed7b27f1d666546e30d74d50d173d20bca754),从而“夺回”黑客所控制的DAO合约的币。从而形成两条链,一条为原链(ETC),一条

为新的分叉链(ETH),各自代表不同的社区共识以及价值观。

图片 1

攻击方法

攻击者组合了2个漏洞攻击。攻击者利用的第一个漏洞是递归调用splitDAO函数。也就是说splitDAO函数被第一次合法调用后会非法的再次调用自己,然后不断重复这
个自己非法调用自己的过程。这样的递归调用可以使得攻击者的DAO资产在被清零之
前,数十次的从TheDAO的资产池里重复分离出来理应被清零的攻击者的DAO资产。
攻击者利用的第二个漏洞是DAO资产分离后避免从heDAO资产池中销毁。正常情况
下,攻击者的DAO资产被分离后,TheDAO资产池会销毁这部分DAO资产。但是攻击
者在递归调用结束前把自己的DAO资产转移到了其他账户,这样就可以避免这部分
DAO资产被销毁。在利用第一个漏洞进行攻击完后把安全转移走的DAO资产再转回原
账户。这样攻击者做到了只用2个同样的账户和同样DAO资产进行了200多次攻击。

当我们谈论“区块链安全”的时候,我们到底在谈论什么?

去中心化、不可篡改,这些堂而皇之的名词从每一个人的嘴中蹦出来,仿佛区块链的安全性是不证自明的真理;自诩学识渊博者还会搬出“茴”字的四种写法,从SHA到ECC,听者无不叹服。区块链仿佛从诞生的一刻起就被视为固若金汤的良药。然而现实是残酷的,无论是比特币还是以太坊,黑客的身影无处不在,数字货币被盗的新闻屡见报端。

区块链系统的安全性并不单取决于区块链算法本身,从代码实现到合约逻辑,再到配套设施,当区块链技术从白皮书中走出来,落地生根成为现实中的技术时,要面临的问题就多得多。而根据木桶理论,一只木桶能盛多少水,并不取决于最长的那块木板,而是取决于最短的那块木板。

密码!密码!

在区块链的世界里,每一个人的身份都不过是一段数字,密码学上称之为密钥,一旦有人获取了你的密钥,他就可以冒充你的身份从事任何事情,包括花光你的每一分钱。

密钥的安全性如何呢?以ECDSA算法为例,每一个密钥由256位01组成,要是随机猜测的话,猜对的概率只有1/115792089237316266660066408626602828282606886466848266086008062602462446642046,大概是1/1077。

根据估算,地球大约由1050个原子组成,而整个宇宙不过由1080个原子组成而已,猜中密钥的概率和猜测宇宙中的一个原子的概率相差无几。

不过在区块链中,仅仅有密钥是不够的,为了能够实现账户之间相互转账,还需要根据密钥生成公钥和钱包地址,上面所说的ECDSA就是从密钥生成公钥的算法。公钥,顾名思义,在向外转账时会被公开,那从公钥推理出私钥又有多难呢?

如果算法的实现不出纰漏的话,即便是最有效的攻击方法,其难度依然是指数级的。

但是,这并不意味着我们可以高枕无忧了。2014年底爆发了一批网络钱包失窃案件,究其原因,就是在随机数生成器的实现没有真正“随机”。如今,量子计算机的崛起带来了新的挑战,如果数千比特位量子计算机一旦问世,包括ECC在内的诸多算法都可能沦为虚设。

51%

丘吉尔说,民主并不是什么好东西,但它是我们迄今为止所能找到的最好的。

区块链的世界里也是如此,谁掌握了51%的话语权,谁就可以肆意更改自己的交易记录,发动“双花”攻击。不同的共识机制对于话语权的定义有所不同,在PoW中为算力,而在PoS中则是持有Token的数量。

51%攻击绝不是天方夜谭。以比特币为例,随着金钱的腥味吸引了无数科技厂家入场,挖矿变成了职业玩家的战场,排名前三的矿场垄断了全网接近半的算力。在Crypto51的网站上,我们可以找到对各种数字货币发起51%攻击所需要的成本,对价值3.5亿美元的Bytecoin发动一个小时算力攻击,成本仅需要257美元,这些数字并没有想象中的遥不可及。

图片 2

来源:https://www.crypto51.app,

截图时间:2018/9/12 9:08

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门金沙30064在线网站 版权所有