技术 › 网络
挖矿与 RandomX
为普通 CPU 设计的工作量证明
简而言之
门罗币和比特币一样使用工作量证明(PoW),但采用的是 RandomX 算法(自 2019 年 11 月起)。RandomX 在一台类似普通 CPU 的虚拟机上生成并执行随机程序,需要约 2 GB 内存。结果是普通 CPU 的效率几乎与专用芯片相当——这让挖矿保持去中心化。
两句话讲清工作量证明
矿工把交易打包成一个区块,然后不断尝试不同的 nonce 值,直到区块哈希低于目标值。找到这样的哈希很难,验证它却很容易。难度每个区块都会重新计算,使得平均每 2 分钟产生一个区块。
为什么不用 SHA-256
SHA-256 早就有了 ASIC——只做这一件事、效率比 CPU 高数千倍的芯片。比特币挖矿集中在买得起 ASIC 和廉价电力的人手中。门罗币从一开始就以普通电脑挖矿为目标:最初是 CryptoNight(曾多次通过硬分叉修改,以淘汰新出现的 ASIC),后来是 RandomX。
RandomX 的工作原理
- 纪元密钥。每 2048 个区块选定一个密钥(某个较早区块的哈希)。据此构建一个 256 MB 的缓存和一个约 2 GB 的数据集。
- 随机程序。根据区块头生成一段 RandomX 虚拟机程序:整数运算、浮点运算、条件分支、数据集读取。
- JIT。程序被编译成 CPU 的机器码并执行,结果就是哈希值。
为 RandomX 造 ASIC,本质上就是造一个带大缓存和高速内存的通用处理器——也就是普通 CPU。专用硬件的优势很小。
| 模式 | 内存 | 适用对象 |
|---|---|---|
| 快速模式 | 约 2080 MB | 矿工 |
| 轻量模式 | 256 MB | 验证区块的节点(较慢,但足够用) |
优点与缺点
+
- 任何拥有普通电脑的人都能挖矿——算力分布更广。
- 门罗币的 P2Pool 允许在没有中心运营者的情况下进行矿池挖矿。
- 经过多年审计,几乎不存在 ASIC。
−
- 僵尸网络:被感染的电脑同样是“普通 CPU”,门罗币挖矿是恶意软件的热门目标。
- 区块验证比 SHA-256 慢。
- 大型矿池仍有可能出现:2025 年 Qubic 矿池曾短暂控制了很大一部分算力并引发区块重组——由此引发了关于额外防御措施的讨论。