《区块链从入门到放弃》51%攻击和双花问题

《区块链从入门到放弃》51%攻击和双花问题

随着比特币价格水涨船高、突破天际,几乎大街小巷的人基本都知道比特币。而区块链作为比特币的底层技术,自然也渐渐被人们所熟识。本系列文章从零开始介绍区块链的概念,及其应用场景,最后讲讲放弃区块链的原因。


《区块链从入门到放弃》51%攻击和双花问题


第五篇——51%攻击和双花问题

1、什么是51%攻击?

当我有了整个比特币系统中算力的51%之后,我就可以利用我手上的算力优势,来决定哪个区块有效,从而从中谋取利益。

2、怎么实现51%攻击?

首先假设我有10个比特币,当前为第100个区块,实现过程如下:

  • ①我先卖出这10个比特币,然后将钱转至银行卡。这笔交易会被记录到第101个区块。也就是其他的矿工会在第101个区块后面继续挖矿。
  • ②我不在第101个区块后面挖矿,因为这个区块记录了我的卖出交易信息。我选择在原先第100个区块后面挖矿。
  • ③因为我有51%的算力,因此我有很大的概率算出下一个随机数,然后我自己在第100个区块后面加上刚刚挖矿的区块,也就是我自己的第101个区块。这个区块上没有我卖出10个比特币的交易信息。
  • ④我继续挖矿,因为算力的优势,我又算出了随机数,得到了第102,第103及其后面的区块,然后其他人就以我发布的区块为基础,在后面挖矿,而放弃原先的第101个区块。
  • ⑤等6个区块之后确认,这时因为第101个区块没有我的卖出记录,所以我账户实际还有10个比特币。

这个就是实现51%攻击的过程。

3、什么是双花问题?

因为51%攻击的存在,我的10个比特币被我卖了两次甚至更多次,这个问题就是双花问题。

4、是否一定要有至少51%的算力才能发起攻击?

不一定。

因为挖矿本质上是概率事件,只不过拥有了51%算力之后,你的联合概率会很大,更容易挖到矿,实现攻击。

5、51%攻击真的存在吗?

假设攻击者是为了利益攻击,则51%攻击理论上不存在。

因为要获得全网51%的算力,要投入的成本(矿机、电费等)大于攻击后获得的收益,因此,51%攻击事实上难以发生。这个又叫做51%攻击悖论。

如果攻击者不是为了利益,仅仅是为了破坏而破坏,那就另当别论了。


分享到:


相關文章: