查看原文
其他

什么是51%算力攻击? | 白话区块链入门118

白话区块链 白话区块链 2019-05-14

白话区块链

从入门到精通,看我就够了!

「白话区块链入门」系列让零基础的小伙伴也能轻松入门,扫描文末二维码,获取全部零基础文集。欢迎在文末点赞留言,说说你最想了解的区块链小知识,参与有奖哦!

作者 | 晏文春
出品|白话区块链(ID:hellobtc)

关注比特币的小伙伴,想必听过51%算力攻击这个词,它到底是什么意思呢,发起这种攻击之后能做哪些“坏事”呢?今天大白就来简单介绍一下51%算力攻击相关的事情。

比特币白皮书中,有过这样的表述:诚实节点控制算力的总和,大于有合作关系的攻击者算力的总和,该系统就是安全的。

换句说,当系统中有合作关系的恶意节点所控制的算力,超过诚实节点所控制的算力,系统就是有被攻击的风险。这种由恶意节点控制超过50%算力所发起的攻击,称为51%算力攻击(51% Attack)。

那是不是所有的加密货币系统都有可能遭遇51%算力攻击的风险呢?其实并不是的,只有基于PoW(工作量证明)共识机制的加密货币,才存在51%算力攻击,比如比特币、比特现金和目前阶段的以太坊等;而非PoW共识算法的加密货币则不存在51%算力攻击,如基于DPoS(委托权益证明)共识机制的EOS、TRON等。

在了解了51%算力攻击之后,你肯定好奇,这种攻击能做哪些坏事。

1、双花(Double Spending)双花的意思是一份"钱"花了两次甚至多次。

51%算力攻击是如何做到双花的呢?假设小黑有666BTC,他把这些币支付的大白同时,也把这些币发到自己的另一钱包地址上。换一句话说,小黑的一份钱,同时转给两个人。最终,发给大白那笔交易先被得到了确认,并打包在区块高度为N的区块内。

这时,控制了超过50%算力的小黑,发起51%算力攻击。他通过重新组装第N个区块,将发给自己那笔交易打包进区块里,并持续在这条链上延展区块,由于算力的优势,这条量将成为最长合法链。这样小黑666BTC双花成功,大白钱包里的666BTC"不翼而飞"了。

2、压制某些地址发送/接受比特币

除此之外,51%的算力攻击还能做什么呢?它还可以压制某个地址发送/接收比特币。

小黑和大白吵架了,小黑仰仗自己掌控了51%算力,他在知道大白比特币地址情况下,可以让与大白相关的交易一直无法确认。比如大白为了向中本聪表达自己的敬意,想往"创世地址"发送1枚比特币。掌控超过半数算力的小黑,不会打包这条交易,不仅如此小黑还能做到让其他矿工也不会打包这条交易。小黑是怎么做到的呢?

如果其他矿工挖出的新区块打包了这笔交易,小黑会选择不在这个区块之后继续挖矿,他会选择在上一个区块之后,重新构建新区块,并把大白这笔交易拒绝在外,仰仗自己算力优势,小黑分叉出的这条链,将成为最长合法链。

在这种情况下,其他矿工也就只好不打包与大白有关的交易,否则挖出的区块也会被小黑给孤立,得到出块奖励也将被作废。

那拥有超过50%的算力,就可以为所欲为,什么坏事都可以做吗?其实并不是的。即使控制超过50%的算力,也不能转移其他人的币(偷币),因为这个操作是需要私钥进行签名,如果想伪造签名来“偷币”,这种行为是诚实的矿工所不能容忍的,这将颠覆系统共识。这种情况下,其他矿工将不会在他挖出的区块后继续拓展区块链,会主动分叉出合法的区块链,“偷币”矿工挖出的区块将被孤立。

此外修改系统出块奖励,比如将出块奖励从当前的12.5BTC修改为50BTC,这样的行为同样是颠覆系统共识的,诚实的矿工一样会拒绝在这样的非法区块,分叉出一条新链。

如果你掌握了某个加密货币50%以上的算力,你会发动51%算力攻击吗?为什么?快到留言区说说你的看法吧。

「白话区块链入门系列」互动有奖

  • 本文发布24小时后,将精选一名留言者,奖励8.8元红包;

  • 指出本文事例、逻辑等重大错误、并提出优秀建议的留言,一经采纳,奖励50元

  • 本系列长期接受投稿,稿酬丰厚。后台回复「投稿」获取详细信息。

往期内容精选

006 比特币的矿工和挖矿是什么意思?

014 虚拟货币价值的本质是什么?

015 神奇而有趣的比特币

018 被称为“区块链2.0”的以太坊是什么?

021 被称为“区块链3.0”的EOS是什么?

★后台回复「入门」获取完整目录!★


——End——


『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。

亲,据说99.9%有品位的人都点了「在看」👇

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存