門羅幣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

流程圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM