聊聊区块链背后存在的问题(二):51%的攻击
- +1 你赞过了
上次,我们谈到了区块链背后存在的分叉问题,今天来聊聊51%的算力攻击问题。
区块链的运作原理之一就是P2P传输,即通信可以直接在各点间进行,不必通过一个中央节点传送信息,每个节点都可以保存信息并向其他节点转发信息。
各个节点之间会通过数据的一致性来同步,这个共识规则在软件中就是一个共识算法。比如,比特币中的工作量证明(Proof of Work)。
比特币中的交易数据,实际上是矿工通过算力竞争来打包记录的。“算力”指的是每秒钟可以计算哈希值的次数,算力越大,矿工的计算速度就越快。矿工通过完成某种证明算法,得到区块数据的打包权,可以将网络中已经发起但还没打包到主链的事务数据打包到新的区块,并且广播到其他节点。
理论上来说,当一个人掌握了51%以上的算力,那么他计算出正确哈希值的速度就会比全网其他矿工更快,因此只要他从包含自己想要篡改的交易数据之前的一个区块开始继续向下挖矿,那么他就有可能创造出一条比当前主链更长的区块链。
目前,比特币的挖矿算力主要集中在几个矿池,普通计算机能挖到矿的概率越来越小。
至于为什么叫51%的算力攻击?《白话区块链》一书指出:这只不过是个象征性的说法罢了,不用较真。51%就表明占据了百分百算力的一大半。
具备优势算力,攻击将会如何发生?这本书进一步写道:“比特币中的区块是一个个衔接对应的,而其中的交易事务也是通过输入输出形式一一对应的。”
作者以比特币的工作量证明机制为例,因为掌握了优势算力,实际上就掌握了打包权。它可以修改自己的交易记录,从而实现双花,比如在咖啡店使用比特币购买咖啡,你可以支付一定的比特币,然后就可以买到咖啡,而这笔交易还没记入主链。因此,可以通过自己的优势算力在获得打包权后将自己的这笔记录去除掉,再广播新的区块出去。
另外,还可以阻止区块确认部分或者全部交易;阻止其他矿工开采到区块。(注:部分内容参考《白话区块链》—蒋勇)
最新资讯
热门视频
新品评测