zoukankan      html  css  js  c++  java
  • 门罗币XMR最新挖矿算法RandomX设计原理

    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.使用HHash512(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

    流程图

  • 相关阅读:
    【APIO2008】免费道路[最小生成树 kruskal]
    【2019.8.13】
    【矩阵】
    [POI2008]BLO-Blockade [tarjan 割点]
    poj1458 最长公共子序列 (动态规划)
    最长上升子序列
    poj1163 数字三角形 (动态规划)
    快速幂 (分治)
    求排列的逆序数(分治)
    快速排序 (分治)
  • 原文地址:https://www.cnblogs.com/fanguang/p/12107860.html
Copyright © 2011-2022 走看看