为什么Filecoin挖矿在AMD上效果最好?
目前,Filecoin 的复制证明(PoRep)倾向于在 AMD 处理器上运行。更准确地说,它在 Intel CPU 上的运行速度要慢得多(它在某些 ARM 处理器(如较新的三星手机中的处理器)上具有极高的竞争力,但是它们没有 RAM 来密封更大的扇区)。
我们在 AMD 处理器上看到此优势的主要原因是由于它们执行 SHA 硬件指令。现在,为什么要使用 SHA 指令?
PoRep 安全性假设
我们的研究团队针对复制证明的安全性有两种不同的模型。这些是延迟假设和成本假设。
这些假设是为什么攻击者无法发起“再生攻击”的论据。也就是说,攻击者无法密封并提交(由函数生成的)随机数据,将其删除,然后即时重新密封以响应 PoSt 挑战,而无需实际存储该时间段内的数据。
成本假设
成本假设指出,产生一个扇区的实际货币成本(硬件,电力等)高于简单地将其存储在磁盘上的真实货币成本。
NSE 是我们研究小组正在研究的一个新的 PoRep,它基于成本假设,因此可以实现高度并行化(与基于延迟假设的方案相比,如下所述)。
但是,成本假设随可用的虚拟硬件而有很大差异。例如,为 NSE 制作 ASIC 的人可能会通过降低过多密封的成本来打破成本假设。这是我们在运输 NSE 方面的主要犹豫之一。
延迟假设
在延迟假设下是安全的复制证明是安全的,因为攻击者无法及时重新生成数据。我们将这种假设用于 SDR,即假设攻击者无法足够快地重新生成足够大的扇区来响应 PoSt。
我们通过使用深度鲁棒图来实现这一目标。无需过多赘述,深度鲁棒图可确保最少数量的串行操作来基于该图计算编码。图中的每个边代表我们需要执行的操作。因此,我们保证某人必须连续执行 N 次操作才能计算出编码。这意味着编码的计算必须至少花费某人可以执行该操作最快速度的 N 倍。
现在,为了确保这一点的安全性,我们需要选择一种无法快速完成的操作。根据您需要的硬件,这里有很多潜在的候选人。我们选择不要求 ASIC 来开采 Filecoin,因此严重限制了我们的选择。
我们必须看一下 CPU 真正擅长的操作。一种选择是 AES 加密,它也具有硬件说明。但是,CPU AES 指令的性能与假设的“最佳”性能之间的差异仍然太大。此差距通常称为“Amax”,即攻击者的最大优势。
我们选择的算法的 Amax 越高,为了限制攻击者执行该算法的速度,整个过程必须变得越昂贵。在进行研究时,我们注意到 AMD 为其新处理器提供了内置的 SHA 功能,并且我们调查了人们可以多快地计算 SHA 哈希。
我们发现,AMD 的实施速度仅比任何人都可以做的慢 3 倍左右(硬件工程师根据超国家)。对于您可以在消费类硬件中获得的东西来说,这令人难以置信。这样,我们就可以使 SDR 密封对于使用现成硬件的人来说具有合理的性能。
超级优化的 CPU
鉴于以上所有情况,并假设我们现在基于证据来进行等待时间,因此您需要一种能够非常快速地进行 SHA 哈希迭代的处理器。
如前所述,这不仅是 AMD 处理器,而且许多 ARM 处理器也对此提供支持。希望新的英特尔处理器也能效仿。但就目前而言,Filecoin 在 AMD 处理器上效果最佳。