51% 攻击
51% 攻击指的是对区块链网络的攻击,通过欺骗矿工使用一个拥有超过 50% 接受度的复制区块链,从而再次花费相同的比特币。
简单来说,如果单个矿工或矿工池控制着加密货币网络超过 50%(例如 51%)的挖矿哈希算力,他们就可以攻击区块链网络并撤销交易。一旦他们拥有超过 50% 的哈希算力,他们就可以控制加密货币网络,并且可以进行双重支付。
然而,通过控制网络上的大部分计算能力,单个矿工或矿工池可以破坏区块链的完整性并进行欺诈。不仅如此,他们还可以垄断并阻止其他矿工创建新的区块。
它是如何工作的
在我们了解它是如何工作之前,让我们先了解一些关于这些加密货币网络的事实:
加密货币网络是一个分布式和公共网络。任何人都可以加入。
每个人都会拥有一个区块链的副本,其中包含曾经进行过的所有比特币交易,这些交易保存在区块中。这是一个点对点网络,没有任何中央权威机构参与。这些区块通过每个区块的哈希值连接在一起,将链条连接起来。
每个区块在添加到其自己的区块链之前都会由矿工进行验证。如果一个区块至少获得 50% 的接受度,则该区块有效。一旦一个区块获得最低 50% 的批准,它就可以添加到每个人的区块链中,从而增加区块链的长度。在这种情况下,另外 50% 的矿工将不会浪费时间再次验证相同的区块。他们只会简单地将已验证的区块添加到他们的区块链中,并继续创建和验证新的区块。
网络始终将最长的区块链识别为经过最多验证和最新的区块链版本。
拥有更多哈希算力的矿工将首先验证区块并将其添加到他们的区块链中。为了验证一个区块,矿工将获得 12.5 个比特币作为奖励。因此,人们试图使用更多哈希算力更快地验证区块以获得奖励。这是一种关于谁先获胜的竞争。
一旦您了解了上述事实,我将讨论 51% 攻击是如何工作的。
假设我拥有更多的哈希算力,当所有矿工加在一起时,我的哈希算力超过 50%,我将开始一个接一个地创建区块并创建我自己的私有区块链。同时,我将花费我手中的比特币来购买豪华轿车、私人飞机或房子。我将在公共区块链上宣布我的交易,每个人都将拥有这些交易的副本。
但是,我不会在我的私有区块链中提及这些交易,并继续使用我巨大的哈希算力更快地创建区块并构建我的私有区块链。一旦我的区块链准备就绪(它应该比现有的公共区块链更长),我将将其公开。现在,由于我的区块链拥有更多区块,网络将其识别为有效的区块链,人们开始将他们的区块添加到这个新的区块链中。
由于我没有在我的区块链中提及我的比特币交易,因此它们在新区块链上显示为未花费。现在我再次花费它们。这样我就可以对我的比特币进行双重支付。希望你现在理解了这个概念。
在这种情况真正发生之前,人们认为这只是一个假设理论。确实发生过一些事件,例如 Ghash.io,一个矿池在 2014 年短暂超过了比特币网络总计算能力的 50%,并且他们自愿减少了其网络份额并放缓了速度。
2018 年,比特币黄金发生了 51% 攻击,攻击者窃取了价值 1800 万美元的比特币黄金。