技术 › 网络

挖矿与 RandomX

为普通 CPU 设计的工作量证明

简而言之

门罗币和比特币一样使用工作量证明(PoW),但采用的是 RandomX 算法(自 2019 年 11 月起)。RandomX 在一台类似普通 CPU 的虚拟机上生成并执行随机程序,需要约 2 GB 内存。结果是普通 CPU 的效率几乎与专用芯片相当——这让挖矿保持去中心化。

两句话讲清工作量证明

矿工把交易打包成一个区块,然后不断尝试不同的 nonce 值,直到区块哈希低于目标值。找到这样的哈希很难,验证它却很容易。难度每个区块都会重新计算,使得平均每 2 分钟产生一个区块。

为什么不用 SHA-256

SHA-256 早就有了 ASIC——只做这一件事、效率比 CPU 高数千倍的芯片。比特币挖矿集中在买得起 ASIC 和廉价电力的人手中。门罗币从一开始就以普通电脑挖矿为目标:最初是 CryptoNight(曾多次通过硬分叉修改,以淘汰新出现的 ASIC),后来是 RandomX。

RandomX 的工作原理

  1. 纪元密钥。每 2048 个区块选定一个密钥(某个较早区块的哈希)。据此构建一个 256 MB 的缓存和一个约 2 GB 的数据集。
  2. 随机程序。根据区块头生成一段 RandomX 虚拟机程序:整数运算、浮点运算、条件分支、数据集读取。
  3. JIT。程序被编译成 CPU 的机器码并执行,结果就是哈希值。

为 RandomX 造 ASIC,本质上就是造一个带大缓存和高速内存的通用处理器——也就是普通 CPU。专用硬件的优势很小。

模式内存适用对象
快速模式约 2080 MB矿工
轻量模式256 MB验证区块的节点(较慢,但足够用)

优点与缺点

+

  • 任何拥有普通电脑的人都能挖矿——算力分布更广。
  • 门罗币的 P2Pool 允许在没有中心运营者的情况下进行矿池挖矿。
  • 经过多年审计,几乎不存在 ASIC。

−

  • 僵尸网络:被感染的电脑同样是“普通 CPU”,门罗币挖矿是恶意软件的热门目标。
  • 区块验证比 SHA-256 慢。
  • 大型矿池仍有可能出现:2025 年 Qubic 矿池曾短暂控制了很大一部分算力并引发区块重组——由此引发了关于额外防御措施的讨论。