自私的加密货币挖矿与任何系统一样,工作量证明(POW)矿工奖励系统有其优点和缺点。 POW 的主要缺点是可能发生 51% 攻击,即任何获得超过 50% 网络权力的人都将能够完全控制该区块链。 这是最著名和最关键的 POW 共识漏洞,但还有其他不太严重的漏洞。 我们将在本文中讨论其中一个称为自私挖掘的漏洞

一开始,有一点关于加密货币挖掘的理论。

举个例子,让我们以最著名的比特币加密货币区块链为例,我们分析的主要特征是出块时间。

区块时间是新数据写入区块链的数学定义的时间量。在我们的例子中,对于比特币,区块时间设置为 10 分钟。换句话说,区块搜索的难度会根据网络中的矿工数量自动调整,使区块搜索时间趋于程序中指定的 10 分钟。

为了更好地了解加密货币挖掘过程,我们建议您阅读以下材料:用简单的语言挖掘加密货币时,计算机会做什么

搜索下一个区块并将其写入区块链的过程,虽然争取指定的 10 分钟,但可能少于或超过 10 分钟,时间跨度很大。那些。块搜索时间可以少于一分钟,也可以是 1 小时或更长。这完全取决于找到满足区块链网络当前条件的 Nonce 数量的运气因素。但在很长一段时间内,平均每个区块每 10 分钟出现一次

这就是 POW 挖矿的这个特性,即在寻找新块时的随机偏差,自私挖矿攻击是基于。

 

 

什么是自私挖矿?

默认情况下,每个矿工在找到新区块时会立即将其数据传输到网络,以便其他网络参与者重置他们的任务并开始寻找具有新数据的新区块(最后找到的区块的哈希和) .如果有条件的矿工由于运气在 1 分钟而不是 10 分钟内找到了一个区块,而不是将这个区块写入区块链,即通知所有矿工找到一个新区块,向其他网络成员隐藏有关找到的区块的信息。在这种情况下,当其他参与者继续搜索一个区块时,我们有条件地将其称为 100 号,我们自私的矿工已经在寻找 101 个区块,因为。只有他知道前一个区块 100 的哈希和,这是他在寻找 Nonce 数时需要进行数学计算的。

因此,自私的矿工可以将找到的区块上的数据延迟几分钟发布到区块链网络,从而在这几分钟内让自己在寻找下一个区块时抢占先机。虽然其他参与者会从一开始就开始寻找新区块,但我们不诚实的矿工已经可以完成一半的工作来寻找下一个区块,这大大增加了下一个区块找到它的机会。

这里应该记住,将找到的块发布到网络的延迟越长,这个块被另一个矿工发现并在攻击者之前写入区块链的机会就越大。因此,攻击者不仅会失去已经找到的区块的奖励,而且矿工的所有工作都将毫无用处,因为。另一个矿工的区块会有完全不同的哈希值。

现在只有矿池可以对比特币实施自私攻击。比特币挖矿现在涉及数十万甚至数百万的 ASIC 矿工。为了有效地利用自私挖矿,攻击者的权力必须处于其他网络参与者的权力水平,这样他就可以在几分钟内实现自己相对于其他矿工的优势。如果自私挖矿使用小矿工每天一次或多次进行计算块搜索,那么由于自私挖矿而获得的几分钟领先优势对他来说并不重要。

如果我们假设所有网络参与者都会利用自私挖矿的机会,那么结果是平均出块时间会增加,这将导致挖矿收益减少,从长远来看,这对所有参与者来说自然是不利的。因此,可以假设这样的场景实现的可能性很小。

网络中所有矿工都使用自私挖矿的另一个负面情况是更大的集中化,以及通过淘汰在这种情况下损失最大的小型矿池,其中一个矿池获得 51% 的风险更高。因为最初,小型矿池的出块时间估计为几个小时甚至几天,由于自私挖矿将这个时间减少几分钟不会产生任何效果。对于占总算力 20% 或 30% 的大型矿池,不能说什么。

每个用户都可以为减少自私挖矿的负面影响做出贡献,并将他们的挖矿设备连接到一个经过验证的、重视其声誉的矿池。其中一个矿池是 Binance Pool,它属于著名的加密货币交易所,并集成到公司的通用服务中,以便最方便地使用。

自私挖矿不仅可以应用于比特币区块链网络,还可以应用于所有其他 POW 加密货币,例如以太坊,其区块时间为 13 秒。

结论:Sellfish 挖矿不能称为对 POW 挖矿的全面威胁。相反,不道德的矿池所有者可以利用它来在短期内显示更高的寻找区块以吸引客户的比率。加密货币越不受欢迎,就越容易受到自私挖矿攻击。