首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

51%的攻击让时间倒流

摘要

5月25日,据报道比特币黄金BTG遭51%攻击,一名恶意矿工获得了BTG网络至少51%算力,临时控制了BTG区块链,在向交易所充值后迅速提币,再逆转区块,成功实施双花攻击。这是区块链首次被篡改。攻击者可能从交易所窃取超过388200个BTG,价值高达1860万美元。

什么是51%攻击

所谓51%攻击,就是使用算力优势撤销自己已经发生的付款交易。根据概率学计算,如果有人掌握了50%以上的算力,他能够比其他人更快地找到生产区块需要的那个哈希数,因此他实际上拥有了篡改区块链数据的权利。

如何攻击

以比特币网络为例:

小王给小张转了一个BTC,这笔交易被高度为525894的区块记录下来。

然而,小王也是比特币网络的一名矿工,并且刚好拥有超过网络51%的算力,他想把这一个比特币收回来,于是他开始攻击了。

小王在高度为525893的区块之后重新生成了一个伪区块,这个伪区块高度也是525894,因为拥有51%的算力,小王比别的节点更容易优先计算成功,并且,很快他又在这个伪区块后面连接了两个区块,于是小王的伪区块链就成了最长链,按照区块链的原则,小王的这个链就代替了原有的链成为后面的主链。而包含小王给小张转了一个BTC的交易的区块就被抛弃了,而小张这个BTC也永远都收不到了。

51%的攻击为什么能够成功?

从理论上来看有几个原因:

第一,比特币网络采用工作量证明机制,也就是说,谁先计算出哈希数,就以谁的区块为准,拥有超过全网51%的算力,就会比别人优先计算出哈希数,甚至可以连续生产几个区块。无论它是否是作恶节点。

第二,比特币网络规定,区块链以最长链为主,只要伪区块之后的区块多余原链,就会变成新的主链,被所有人接受。

如何防范攻击

防范51%攻击可以从两方面看:

一方面看,如果真有这样的51%攻击,建议是收款方最好确保信息得到了 6 个确认。这里用的是基本肯定,不过等的时间越长这笔交易越安全是肯定的。

另一方面,为了从根本上防范51%攻击,最好的办法是对共识机制进行改良,例如IFMChain公有链采用的DPOP(委托参与度权益证明机制)共识机制,这能有效防范该类风险,在区块链初始和成长阶段尤为重要。

本能区块链实验室

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180604G1QCXM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com