风险提示:理性看待区块链,提高风险意识!

51%算力的攻与防

2个回答

我是韭菜5星评价

2020-04-21 15:09:24

51%算力的攻与防

我们知道在比特币网络中采用PoW来解决如何获得记账权的问题,采用最长链共识”解决如何记账的问题。

但是在理论上,利用比特币网络中的最长链共识”,可以发动51%攻击。

什么是51%攻击

51%是指算力占全网算力的51%,比特币网络需要通过哈希碰撞来匹配随机数从而获得记账权,算力衡量的是一台计算机每秒钟能进行哈希碰撞的次数。

算力越高,意味着每秒钟能进行越多次的哈希碰撞,即获得记账权的几率越高。在理论上,如果掌握了50%以上的算力,就拥有了获得记账权的绝对优势(意味着可以更快地生成区块),也拥有了篡改区块链数据的权利。

所谓51%的攻击,就是利用比特币网络采用PoW竞争记账权的特点,使用算力优势生成一条更长的链回滚”已经发生的交易行为”。

如何进行51%攻击

假设小明拥有51%的算力,在区块高度2019时,小明转给小华1BTC的记录被矿工及时打包。

待交易确认后,小明依靠51%的算力优势在区块高度2018后重新生成了一条更长的链”,并在区块高度2019处又将该BTC转给小红且该交易记录被打包,即该链包含了小明将1BTC转给小红的记录。

根据最长链共识”,包含给小红转账记录的链成为主链,则小明转给小华的1BTC则为无效支付。

51%算力的影响

若掌握了51%的算力,除了可以修改自己的交易记录外,还可以阻止区块确认部分交易,以及阻止部分矿工获得有效的记账权。在极端理想情况下,拥有51%算力的节点将获得所有的挖矿奖励和转账手续费。

不论是篡改数据还是垄断记账权,都会减少社区成员对系统的信任,也严重影响社区的稳定。拥有51%的算力也不是万能的,因为无法修改其他人的交易记录,也不能阻止交易的发出,更不能凭空产生BTC。

51%算力的攻与防

从理性角度考虑,发动51%攻击是为了双花”逐利,前期需要巨额的投入来提升算力和囤积用于双花”的BTC,后期需要承担BTC价值下跌的风险。

整个过程下来,未免有些得不偿失。BTC白皮书在第6节(Incentive)和第11节(Calculations)已经指明了本本分分挖矿能获得更多的利益,因此在这个前提下,双花”逐利的动机就不复存在了。

即使不进行51%攻击,只是长期持有51%算力,都足够引起社区恐慌,行情震荡,最后反噬自身。故从理性角度考虑,51%攻击的可能性较小。

从非理性角度考虑,发动51%攻击是为了攻击而攻击,不考虑任何后果(动机无法揣测,可能性也无法衡量),这种做法最终会失去共识,其他社区成员可以通过硬分叉重新建立共识(比如采用新的证明机制),最终51%的攻击也将变成一个人的游戏”。


比特币改变世界9星评价

2020-04-21 15:10:07

只要能控制全网50%以上的算力,攻击者将可以修改账本和阻止他人挖矿,从而威胁到整个系统安全.

攻击者把自己的货币花掉,这笔交易会记录在区块链上,然后再伪造另一条区块链的数据,将自己地址上的货币再花费一次,由于算力上的优势,攻击者比网络中其余的矿工计算更快,从而得到更长的区块链数据

如果一个矿工运气很好,挖到两个连续区块.他可以先隐藏这两个区块,等到其他矿工挖出一个区块数据后,他再广播自己的两个区块,就可使他人挖到的区块失效.

当算力越高时,连续挖到两个区块的概率就越高,50%的算力约25%的概率,连续挖到6个区块则为1.5%

如何避免51%攻击:

检测点,是用于保护网络不受全网51%算力攻击,因为攻击者是不能逆转最后一个检测点前发生的那些交易的

检测点是通过硬编码方式写入标准客户端的。意味着标准客户端将在检测点之前将接受所有有效交易,这些交易将是不可逆的。如果任何人试图在检测点前从一个区块对区块链进行分叉,客户端将不会接受这个分叉,这使得那些区块一成不变(set in stone)。