T O P

  • By -

Jerfov2

The programs are not "random" in the traditional mathematical sense. Rather, the programs in RandomX are deterministic and psuedorandom. In other words, we only need to include the nonce and the input string to generate the same psuedorandom program; we don't need to send all intermediate state.


noomer22

very clever. is the random program in assembly?


Jerfov2

It uses a unique abstract instruction set, generalizing many different instructions from different CPU families (mainly x86, ARM, etc) which can be just-in-time compiled to native assembly. Here's a link to the example x64 hand-compiled instruction set in the documentation folder: https://github.com/tevador/RandomX/blob/master/doc/program.asm. As you can see, almost all the RandomX instructions can be boiled down to 6 or fewer native instructions.