一文读懂Monero的公平挖矿算法RandomX
作者:潘致雄
来源:链闻
因为专业挖矿设备全面入侵加密货币和区块链平台,越来越多人开始担心所谓的「去中心化」岌岌可危。比如用户数量最多的比特币,已经没人使用通用 CPU 和 GPU 参与网络共识了,因为成本远超过了收益。而有些项目在尝试研发更通用的 PoW 算法让更多人可以参与进来,比如一直都处于研发抵抗 ASIC 挖矿算法前沿的门罗币 Monero 项目,刚刚进行了硬分叉升级 PoW 算法,以后仅需一颗现代化的 CPU 和至少 2GB 内存就能公平地参与挖矿了。
此次硬分叉升级在区块高度 1,978,433 激活,也就是约 12 月 1 日凌晨三点,门罗币将切换工作量证明算法为 RandomX,以取代原来的 CryptoNight 算法,削弱专用挖矿设备 ASIC 对网络算力的影响并为 CPU 挖矿进行优化。除此之外,在该版本中还包含其他更新,包括:将逐步淘汰长付款 ID,以此改善用户体验并减少对交易所的支持工作;每笔交易必须要包含至少两个输出;在协议层级将强制执行收到交易后存在 10 个区块的锁定时间(约 20 分钟)。
Monero 升级规划
去中心化是形同虚设?
现在很多基于工作量证明共识的加密货币,都会面临一个质疑,虽然这类区块链平台还是无需许可人人均可加入的,但是参与共识的挖矿设备变得越来越专用化。这将会导致普通用户无法参与网络的共识决策,这也就意味着「去中心化」概念变得形同虚设。就连比特币也无法摆脱这样的问题,可能中本聪也没想到原本适用于中央处理器 CPU 运算的 PoW 算法,在经过极客们的改造、定制和研发之后,CPU 和 GPU 都逐步被淘汰,专用 ASIC 设备占领了比特币所有的算力,如比特大陆和嘉楠科技就专注于这类芯片的研发。
比特币难度爆发式增长
所以,许多研发人员在尝试开发 ASIC 无法获得优势的 PoW 算法,或者称之为「抵抗 ASIC」的算法,让更多人使用通用的计算设备就可以参与到网络中,一旦增加了矿工的数量,去中心化程度也就增强了。门罗币在 12 月 1 日凌晨通过硬分叉升级的 RandomX 算法,就是这类尝试中值得关注的一个。
人人皆可参与挖矿的 RandomX
RandomX 开发者之一的 tevador 在文档中写到:「RandomX 是针对通用 CPU 优化的工作量证明算法。 RandomX 使用随机代码执行以及几种内存技术,以最大程度地降低专用硬件的效率优势。」RandomX 也因「随机代码执行」(random code execution)而得名。
从技术上来说,RandomX 利用虚拟机执行特定指令集中的程序,比如整数运算、浮点运算和分支预测等。这类程序可以即时转换成 CPU 的原生机器码,最后,使用哈希函数 Blake2b 将已执行程序的输出合并为一个 256 位的结果。RandomX 可以以两种模式运行,分别是需要 2GB 共享内存的快速模式或是需要 256MB 共享内存的轻模式。这两种模式可以随时切换,运行的结果也相同,但是快速模式适用于「挖矿」,轻模式更适用于验证交易。
只需要 2GB 内存和一个现代的 CPU 就可以进行挖矿,普通用户参与挖矿的入门门槛一下子就降低了很多。如果你在这两三年内新买了任何一台 PC,那内存这个条件肯定是满足了。而 CPU 的话,开发者认为 2011 年之后的 CPU 比较合适,具体的就看相关的配置了,根据现有的一些数据来看,好像 AMD 比 Intel 更有优势。如果你想运行一个全节点,只需要使用「轻模式」即可,内存要求仅需 256 MB。
一些芯片的 RandomX 算力比较
永久储存协议 Arweave 也将集成 RandomX
当然,对于这类新兴的算法来说,需要尽可能避免安全风险。所以 RandomX 算法经过了四个独立的安全研究团队的安全审计,分别是 Trail of Bits、X41 D-SEC、Kudelski Security、QuarksLab,而且这四次的审计均由「开源技术改进基金」(OSTIF)组织协调。第一次的审计资金来源于区块链永久存储协议 Arweave,他们也是 RandomX 的早期采用者,另外三次的资金来源于 Monero 的社区捐助。审计结果报告中未发现 RandomX 有任何严重缺陷,其他的一些问题已经在代码中修复。
Arweave 项目官网
Arweave 首席执行官 Sam Williams 表示,「像 RandomX 这样的具有 ASIC 抵抗能力的 PoW 算法将进一步增强我们提供的永久性、低成本和抗篡改的网络。RandomX 帮助我们确保 Arweave 网络中的去中心化内容政策,将在全球各方之间保持良好的分布。」
不仅 Monero 官方在进行这方面的探索,也开始有项目愿意尝试这些更公平化的算法。不过这类算法还是比较新,虽然已经通过了多次安全审计,但还有很多细节需要更长时间的观察。尽管如此,RandomX 依旧是一个加密货币极客们都愿意看到的试验,也可能会是矿机生产商的噩梦。