以太经典(ETC币)|EthereumClassic,新一代数字货币

51%攻击到底是指什么?

2021-07-14 07:52栏目:技术
TAG:

“51%攻击”是一个充满着想像力的词,总被人有一种刀光剑影看小说的感觉,但其实大多数人对这个词的理解是不太准确的。

最容易见到的理解是根据这个词的字面意思:觉得只须算力超越51%,就能对某个系统发动攻击,这个系统就存在中心化或者被攻破的可能性。

譬如,我今天随便查了两篇有关的文章,分别是这么说的:

1、当矿池的算力过大,超越全网51%的哈希力,就会发生51%攻击。
2、51%攻击,就是有人学会了全网51%以上的算力之后,就可以像赛跑一样,抢先完成一个更长的、伪造买卖的链。BTC只认最长的链。所以伪造的买卖也会得到所有节点的认同,假的也随之变成真的了。这是由BTC的共识机制PoW(工作量证明)决定的。

在追究这部分说法是否正确之前,大家先来研究一下到底51%攻击是指什么呢?它的定义又是如何概念的呢?
事实上,BTC白皮书全文中并没出现“51%攻击”这个词,不过倒是有过有关的描述,算是最接近对51%攻击的概念了:The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes. 只须诚实的计算节点在大体上比任何一个攻击营销软件制更多的计算能力,那样系统就是安全的。

从这句话可以推论一下,要想一方的计算能力超越另外一方,最好是一方的算力超越50%,譬如达到51%时,那它就一定比另一方多。假如诚实节点拥有51%算力,那系统就是安全的;假如作恶节点拥有51%算力,那它就能对另一方发动51%攻击,那系统就是不安全的,我估计51%攻击就是从这里来的。

江卓尔在《天下大义,当混为一——算力战》中有专门提到他的概念:大伙都了解 “51%算力攻击”: 1、攻击者通过优势算力,挖掘一条BTM币更长的攻击链。 2、攻击链向全网广播后,节点按规则,将同意更长的链,丢弃原链。 下图中的直线链(上面的蓝色链和下面的红色链),表示被中立节点同意的主链。

下面,我将把51%攻击拆成“51%”与“攻击”这两个词来分别解说。


1、51%的算力不是绝对的

1、即便没51%的算力,譬如只有30%,40%的算力,也能发动“51%攻击”; 并非超越了51%的算力,就必然会发动51%攻击,只不过存在这种可能性。

事实上,即便你只有30%的算力,你也大概连续出5-6个块,也已经可以开始发动非常有威胁的“51攻击”了; 即便你有51%的算力,你也大概半天出不了一个块,而攻击失败,只是长久看来,你出块的概率等于你算力的网站权重。

假如把节点分为诚实节点、中立节点、作恶节点的话,那样你仅需比诚实节点的算力多即可,而不必肯定需要51%的算力。

2、算力只不过这场竞赛的一个方面,还有互联网传播等方面原因。

在出块有先后的状况下,基本上哪个先出块哪个就有非常大概率成为最长链。

在同时出块的状况下,哪个能更快的传播到51%的互联网节点并被同意,并在此基础上进行进一步的扩展和记账,哪个就是最长链。

从这个角度说,51%指的不止是算力,更是指互联网节点的同意度。 从这个角度说,更要紧的不止是51%算力,而是借助优势算力抢先出块后的“最长链法则”。

当然,这部分都是对同一条链上的角逐而言; 对于已经分裂成不一样的两条链而言,譬如比特币现金和比特币,那样无论其中一条领先多少区块,都没太大意义。

2、算力角逐本身并非攻击

这里说的是“51%攻击”,而不是说的“51%角逐”,“51%争夺”。

这两者的不同之处呢?

角逐是为了从中获益,而攻击是为了摧毁这条链。

角逐是适当的,即便你拥有超越51%的算力,只须你在规则允许的范围下,正常出块,正常挖矿,那样这就是正常的角逐,仍然是以哪个先出块,哪个的链最长为判断标准,不可以算攻击。

但,像在ABC与比特币SV的算力大战中发生的事,譬如比特币SV刚开始的宣传就是要“用算力摧毁比特币现金ABC”,“让比特币现金上两年没任何买卖”(虽然最后都没达成),这种行为就是明确的攻击,而不是单纯的角逐。

一旦51%攻击达成,某条链将被摧毁,攻击方和防守方都会一无所获。

这也就是为何江卓尔说“攻击方不管胜负,势必损失攻击本钱,而防御方有防守优势,假如获胜还可以获得挖矿收入作为补偿”是什么原因。

有人会问,花那样大的代价,摧毁一条链有哪些好处呢?通常来讲没什么好处,大多数攻击行为都是弊大于利。通常来讲,算力越大越会主动维护整个系统,而这也正是BTC系统内置的博弈论发挥用途的地方。

但在这个案例中,比特币SV方期望通过摧毁比特币现金ABC,打造我们的比特币SV正统,这就是摧毁的意义;这也是他过去说过最后将通过算力战摧毁比特币,从而统一比特币是什么原因所在。

3、51%攻击的本质

概要:无论是中本聪还是江卓尔对51%攻击的概念,都没出现51%这个词,我觉得,51%攻击的更准确的理解是通过优势算力(并不需要51%)达成对最长链的争夺。

毕竟正如白皮书里面最明确的概念:Nodes always consider the longest chain to be the correct one and will keep working on extending it. 最长链胜出,其它节点在这条链基础上扩展。

出处:巴比特