What is RandomSFX?

Learn all about the RandomSFX mining algorithm.

What is RandomSFX?

RandomSFX is the Proof of Work mining algorithm used by the Safex Blockchain for mining Safex Cash (SFX). It is a customised version of the RandomX algorithm, which was primarily created for Monero, and was independently audited by multiple security research teams.

As stated in the RandomX Overview on Github, ''RandomX utilizes a virtual machine that executes programs in a special instruction set that consists of integer math, floating point math and branches. These programs can be translated into the CPU's native machine code on the fly (example: program.asm). At the end, the outputs of the executed programs are consolidated into a 256-bit result using a cryptographic hashing function (Blake2b)''.

That all sounds very technical. In simplistic terms, RandomSFX is a mining algorithm designed to best work using CPUs, is less efficient with GPUs (Graphics Cards), and is resistant to Field Programmable Gate Arrays (FPGAs) and other specialised mining hardware such as ASIC Mining machines, due to the random code execution of the algorithm and the implementation of the key block technique.

Diego Salazar in his Local Monero article, Monero Mining: What Makes RandomX So Special, provided a most suitable parable to show the differences between ASIC and CPU device mining capabilitie.

If we liken an ASIC to a very specialized printer - only capable of printing a single type of page, a lottery ticket to a specific lottery, in which it can print 1000 lottery tickets per second. Conversely, a CPU is more akin to a general printer that can print anything, including lottery tickets, but only at a page per second.

In such a limited environment, a CPU is unable to compete with an ASIC.

What RandomSFX achieves is to create a mining environment where the “lottery ticket printing parameters” change at random. CPUs can easily adapt to the new mining parameters, whereas an ASIC is incapable of such change, as it can only print the single type of “lottery ticket”, and only in the very specific format it was provided when originally programmed.

RandomSFX creates a competitive mining environment for CPUs, allowing anybody with a regular home PC to participate equitably in the Safex mining process. All anyone needs to do is install and run suitable mining software on their PC, and they’ll be earning Safex Cash.

The primary mining software used for RandomSFX is the open source xmrig, which was developed for Monero, but is also compatible with mining SFX.

For people building dedicated SFX Mining Rigs, an alternative mining software option - SFXOS - has been created and released by the Safex Foundation, and is a customised Linux Operating System that has xmrig baked in. It is essentially a plug and play SFX mining operating system with minimal initial configuration requirements. It can even be installed on a high speed USB stick - then plug it into the motherboard and boot from the USB - you’re mining SFX! Designed for the novice miner, an easy to use Safex 1-Click miner has also been released, which has xmrig “under the hood” and a simple GUI interface to start the mining process.

Regardless of your software preferences, so long as your PC has a CPU with at least 2Mb of L3 cache and 2.5Gb of available RAM, then you should have no difficulties in setting it to mine Safex Cash (SFX), which you can then spend on real world goods and services on the Safex Marketplace. Any modern PC should be capable of ming SFX to some degree, but AMD Ryzen CPUs are generally considered more efficient than comparative Intel CPUs.

Additional information about RandomSFX, efficient CPU mining requirements and links to more detailed explanations about RandomX and the key block technique can be found here.