Randomx算法-门罗币XMR的挖矿新算法
RandomX算法设计目标是抗ASIC+降低GPU优势。
Monero门罗币XMR计划于2019年的10月份启用最新的RandomX 算法以取代原来的CryptoNight挖矿算法,以继续优化抗ASIC+降低GPU优势来保持门罗POW网络的分散性
算法流程分析
最外层循环8次
内层循环2048次
0.输入0-60字节的 K、任意长度字符串 H(包含nonce)。
1.使用K初始化Dataset。
2.使用 H和 Hash512(blake2b)算法生成种子 seed1。
3.设置生成器 AesGenerator1R参数为 seed1。
4.使用生成器 fillAes1Rx4参数 seed1生成 Scratchpad和参数 seed2。
5.设置生成器 AesGenerator4R参数为 seed2。
6.设置浮点默认舍入模式。
7.1使用生成器 fillAes4Rx4参数 seed2生成 entropy128字节 + program(2K=8*256)8*RANDOMX_PROGRAM_SIZE (执行参数和随机代码) 。
7.2 解析参数 entropy。
7.3 JIT编译program为机器码。
8.执行虚拟机。
9.使用虚拟机 regfile和Hash512(blake2b)算法生成种子 seed2。
10.使用 seed2设置生成器gen4的状态。
11.重复7-10步骤RANDOMX_PROGRAM_COUNT(8)次,最后一次执行时跳过9、10步骤。
12.调用 hashAndFillAes1Rx4算法计算 Scratchpad的特征值 A。
13.将特征值A覆盖regfile的一部分。
14.使用虚拟机 regfile和Hash512(blake2b)算法生成哈希结果 R。
流程图
Original: https://www.cnblogs.com/fanguang/p/12107860.html
Author: 反光
Title: 门罗币XMR最新挖矿算法RandomX设计原理
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578087/
转载文章受原作者版权保护。转载请注明原作者出处!