区块链技术中的 51% 攻击 [解释]

已发表: 2019-01-17

通过该技术的设计,我们知道区块链不受网络任何个体成员的攻击。 但是,如果区块链受到一大群参与者的攻击,会发生什么? 更准确地说,如果一个团队成功控制了区块链 50% 以上的计算能力,会发生什么?
这种情况被称为51% 攻击,它是区块链为数不多的真正漏洞之一。

从世界顶级大学学习软件工程课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

要理解 51% 攻击带来的问题,我们必须回到区块链的基础,回想向链中添加新区块的过程。 网络成员竞争第一个计算区块的有效印章并获得奖励。 不可避免地,控制网络一半以上计算能力的一群人可以垄断这个过程并为自己索取所有奖励。 这种情况允许该组通过阻止其他成员向链中添加块而成为唯一从区块链奖励中受益的实体。 这是可能的,因为多数规则是区块链的基本概念之一。
51% 攻击的另一个可能后果被称为双重支出,这比之前的危害要大得多。 当一群人成功逆转区块链中已完成的交易时,就会发生双重支出,从而使他们能够取回资金并再次消费。 这是假冒的数字等价物 由于区块链中最长的链是真实的这一基本思想,因此在 51% 攻击期间成为可能具有讽刺意味的是,当网络的普通成员尝试时,这与使双重支出成为不可能的相同保障措施相同。
区块链彻底改变汽车行业的 7 种方式

为了理解双花是如何发生的,让我们考虑下面的例子。 想象一个网络,其中存在一个控制网络一半以上计算能力的联盟。 假设联盟成员 A 向区块链普通成员 B 购买房子。
从 A 到 B 的资金转移由网络的每个普通成员记录,但联盟的所有成员都偷偷不将这笔交易添加到他们的记录中。 然后,正在进行的区块由诚实的个人完成并添加到链中,但被联盟秘密忽略。 现在网络中有两个版本的区块链——一个带有记录交易的实际版本,一个是虚假的。 目前,真正的区块链更长,被网络接受,所以假的版本暂时被联盟保密。
该联盟现在继续记录网络中正在进行的交易,以及在他们之间私下进行无意义的交易。 这些交易不会向网络公布,并允许联盟以比真正的区块链更快的速度生成块。 由于联盟拥有网络一半以上的计算能力,因此它向虚假区块链添加区块的速度可能高于向真实区块链添加区块的速度。
在某个时候,虚假区块链的长度超过了真实区块链的长度,联盟现在将其广播到整个网络。 然后网络被迫接受这个版本的区块链,因为它是最长的版本,并且 A 和 B 之间进行的交易被有效地逆转,允许 A 将相同的钱花在其他东西上。
什么是区块链技术? [解释]

因此,联盟可以垄断奖励的索取和双花。 他们还可以使用类似于双重支出的程序阻止其他成员的交易。 然而,他们不能在普通成员之间伪造新的交易,因为这需要发生交易的成员的私钥。 他们也很难修改已经存储在区块链中的区块,因为这需要区块链的绝大多数计算能力才可行。 链中的块越靠后,它们就越安全。
51% 攻击暴露的区块链弱点使我们得出结论,网络中的节点越多,它就越安全。 这仅仅是因为在 10 人的网络中获得多数比在 100 万人的网络中容易得多。 为了与全球节点的分布式网络的计算能力竞争,普通个人将不得不以金钱、电力和时间的形式花费大量资源,或者组建一个过于庞大且分散的联盟,无法有效组织.
一般来说,最大的区块链可以免受 51% 攻击。 然而,过去在著名的区块链中曾发生过一些 51% 攻击的重要实例。 例如,比特币网络中的矿池 ghash.io 在 2014 年 7 月短暂控制了区块链一半以上的计算能力,导致该矿池自愿放弃部分股份,以免垄断加密货币的挖矿。 Bitcoin Gold 在 2018 年 5 月遭受 51% 攻击时就没有那么幸运了,恶意攻击者成功双花超过 1800 万美元的加密货币。
区块链技术对软件工程师的需求不断增长

区块链的基本原理依赖于区块链中的大多数人是诚实的假设。 这暴露了区块链的最大弱点及其主要的真实漏洞区域。 不诚实的多数可能对区块链造成巨大损害。

如果您有兴趣从头开始创建区块链应用程序,请查看来自 IIITB 的 upGrad 和 IIIT-B 的区块链执行认证。

什么是 51% 攻击?

当一群矿工控制超过 50% 的网络挖矿哈希率时,称为对区块链的 51% 攻击。 控制大部分网络的攻击者可以阻止其他矿工完成区块,从而阻止新区块的记录。 更改过去的区块很困难,因为早期的交易被硬编码到比特币软件中。 以前的交易越多,更改它们就越困难。 在检查点之前更改交易,硬编码到比特币的软件中,这将是一项挑战。 Krypton 和 Shift 是两个基于以太坊的区块链,过去都曾遭受过 51% 的攻击。

51% 攻击是如何工作的?

比特币和其他加密货币建立在区块链之上,区块链是一种分布式账本。 加密货币网络上的每笔交易都保存在这些数字文件中,所有用户和公众都可以访问这些文件。 因此,任何钱都不能使用超过一次。 因为公共账本的伪造版本会很快被网络用户识别并拒绝,所以一个区块在完成或挖掘后就不能被修改。 通过控制网络上的大部分处理能力,攻击者或一组攻击者可能会中断记录新块的过程。 他们可以阻止其他矿工完成区块,允许他们假设垄断新的区块挖矿并获取所有收益。 这就是 51% 攻击的运作方式。

是否有可能破解区块链?

要破解区块链,您必须控制至少 51% 的计算能力。 因此,尝试对区块链进行双花攻击被视为黑客攻击。 因此,我们可以推断区块链可以被黑客入侵。 然而,这取决于区块链,既不简单也不便宜。 有几个因素会影响对区块链进行 51% 攻击的成本。 这表明靠自己实现这一目标的可能性不大。 此外,强大的黑客区块链,例如比特币使用的区块链,非常复杂。 它还需要使用许多功能强大的采矿计算机。 这就是为什么近年来,没有任何涉及比特币区块链的事件发生。