继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

『学概念找员外』51% 的算力攻击

刘员外_
关注TA
已关注
手记 66
粉丝 8381
获赞 109

员外捧了天宇一个月,终于把天宇捧成了大V,天宇答应给员外 1 个比特币,但是天宇又想赖掉这笔账,把这 1 个比特币退回给自己。所以天宇需要这么做:

  • 天宇发起了转账交易,并给员外看了(只是发起了交易,并没有交易成功);

  • 这笔交易会放入到交易池中,等待被正常打包上链;

  • 汇集至少 51% 的算力,开始攻击;

  • 比特币网络上很多节点都收到了这笔交易,并加入区块准备打包运算;

  • 天宇也同时计算,但是他在开始之前把这笔交易里的收款地址和签名改成了自己的(这个是很容易的),也就是说这是一笔自己给自己转账的交易;

  • 因为天宇有占全网 51% 的算力,所以他很有可能币其他矿机更早解出这道哈希难题,然后他就可以把这笔伪造的交易加入区块中,进行上链;

  • 这时,整个区块链网络中,会存在两条链,一条是原来的主链,一条是带有这笔假交易的主链,且这条链比原来的那条链多一个区块,也就是说这条带有假交易的链更长;

  • 根据区块链的规则,更长的那条链就可以替代较短的链,成为后面的主链了。

  • 这笔伪造交易的 51% 算力攻击,可能就成功了。

  • 员外的这一个比特币,是没影了。。。

为什么员外说这个攻击可能就成功了呢?

这也就是为什么比特币交易必须等到6个区块确认后,才被视为有效。因为上面这笔伪造的交易,很有可能被识别出来,从而被废弃掉,那么这笔交易当然就随之失效了。

当然这个攻击只是在理论上可能成功,实际的操作中,没有这么容易的。

那为什么至今也没有出现过一次攻击呢?

现在所有的矿工都会通过挖矿来获取收益

这几乎是矿工们的共识了,只有这样,才能保证所有矿工的利益最大化。因为在挖矿的过程中,每挖到一个区块,就可以得到 25 个比特币的奖励,这个奖励虽然会每隔四年减半,但是手续费也是一笔可观的收益了。

如果真的攻击比特币网络,对谁都没有好处

现在的矿池基本上形成了一个共识,那就是所有的矿池都自觉的把算力维持在 30% 左右,因为如果某个矿池的算力过大,就会对整个比特币网络形成威胁,所以当一个矿池的算力越来越大的时候,就会自觉的把部分算力分配到其他矿池。


2018比特币矿池分布图.jpg

如果有一个矿池拥有了大量的算力,对整个比特币网络进行了攻击,集体伪造了交易,并想从中谋取暴利,那他就是在自断财路。一旦比特币网络被攻破,这个世界上再也没有人使用比特币了,所有的比特币都会变得一文不值,所有的矿工再也不能通过挖比特币来获得收益了。要知道建立一个矿厂,动辄需要几百万、几千万甚至上亿的费用,如果这些矿机不能挖其他矿的话,那这些矿机就是一堆废铜烂铁。

虽然攻击有可能成功,但也没人会去这么做!



打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP