This article was originally published on The Daily Chain, 29th February 2020.
“Total world domination is not the goal here. Xmr-stak got so large because it was simply better. Sure it took about 6–8 months but it happened naturally.”
Fireice_uk, RagerX lead dev, Ryo co-founder, February 27th 2020
“RagerX is built from the ground up to make RandomX mining easy. We provide an optimized miner that boots off a thumbdrive, and an integrated mining pool. We also provide a flasher utility to make the process of setting up RagerX simple.”
So begins the official description of RagerX, the fastest RandomX miner currently available.
RandomX is a new proof-of-work algorithm recently adopted by Monero (XMR) to combat and suppress the development of centralized ASIC mining farms.
“RandomX is a proof-of-work (PoW) algorithm that is optimized for general-purpose CPUs. RandomX uses random code execution (hence the name) together with several memory-hard techniques to minimize the efficiency advantage of specialized hardware.”
At the beginning of this year I interviewed the lead developer of Ryo, a privacy coin with some similarities to Monero. Loaded with provocative statements, lead dev Fireice_uk (@fireice_uk) didn’t pull any punches when alluding to the secretive machinations of the mining underworld.
We are given a glimpse into the clandestine operations of individuals and groups who run code and machinery unavailable publicly. They mine with greater speed and efficiency, sometimes levels of magnitude higher than those on public offering, and pay dearly for doing so in confidence.
Such activity is not illegal, but crime does become an issue with botnet operators who deploy malware with XMR miners.
“Some more crazy ones [botnets] pull xmr-stak binaries directly from github. we can see the download stats go up 10k per hour”
Fireice_uk, February 27th 2020
Described too in the article from January is Fireice’s exceptional career as a developer of mining software and mining algorithms. The latter has provided CN-GPU, an innovative algorithm now used by Ryo, and considered by its creator a fair proof-of-work.
Designing a fair PoW is very difficult, and I think we pulled it off.
Fireice_uk, Ryo co-founder, January 4th 2020
Indeed, fairness would seem to be the main inspiration for Fireice’s work. Providing quality open-source mining software for the community, much to the consternation and chagrin of those parties who’d rather he hadn’t, has been his modus operandi for many years already.
XMR-Stak and beyond
RagerX and XMR-Stak-RX were released simultaneously by the same team on day one of RandomX mining (1/12/2019). Unlike the latter, RagerX is a custom OS, specifically designed to push the miner even faster, and with more features. The former is the evolution of the very popular XMR-Stak miner which supports multiple algorithms, and as of the RX release also mines RandomX. XMR-Stak-RX has no miner fee (or associated pool fees), and is completely free to use.
Pools and Progressive Web Application (PWA)
One of the features of RagerX is the ability to create your own pool. That’s right, you can easily combine forces with other miners and setup your own pool.
With PWA comes some other cool functionality, as explained on the website:
All of our pool interfaces are built as a Progressive Web Application (PWA) which means you can install the pool interface directly to your desktop or mobile device. You’re able to easily view your miner status from anywhere in the world. We even have a Telegram bot to notify you when something changes.
Setting precedent, RagerX also comes with affiliate bonus incentives. Additional rewards are provided for invitation referrals and community activity, as can be seen on the calculator found on the website. As far as Fireice_uk is concerned this is the first time Monero-based pools have seen such an affiliate program.
So Fireice_uk and his team developed XMR-Stak-RX and RagerX for mining RandomX. XMRig is the only other miner which gives them a run for their money.
[srbminer and nanominer are also capable of mining RandomX, but since they are both closed-sourced, and presumed by some to be derived from those mentioned above, they are discounted from this comparison.]
Even though XMRig is no faster (well, slower actually) than Fireice’s two offerings it is probably the most widely used. Probably because it is hard to determine real numbers here, and to quote RyoRU (RagerX team):
xmr-stak rx has thousands and thousands downloads. I can check on github download count, but that still won’t be 100% accurate, as some people might repack it and serve as own + download once and copy on usb or distribute on file hostings
I caught up with Fireice_uk to discuss RagerX in greater detail.
GM: Why did you build RagerX?
FI: I’m primarily motivated by challenges. Writing something faster than anything else is always a challenge.
GM: And who built it? I want to make sure everybody is credited
Programming (alphabetical order) : fireice_uk, mosu_forge, psychocrypt
Web application and frontend design: mosu_forge
FAQs and guides : ryoru
GM: Can you give us a brief overview of the RandomX mining algorithm, and share your thoughts about its features and quality?
FI: To put it in non-technical terms, CN-GPU’s assumption is “if Google could do an ASIC to do floating point ops, they would save more than the whole crypto market combined”.
RandomX’s assumption is “Nobody can make an ASIC that executes general instructions” — guess what there are, they are called CPUs, and a new, faster one comes out every year. There is nothing in there that would prevent a custom CPU for RandomX from being 100x faster than normal CPUs (apart from Howard Chu’s over-inflated ego)
GM: RagerX is a faster miner than competing products. Could you first explain what is meant by “faster”, and then explain what makes it faster?
FI: Mining is usually measured in hashes per second. So anything that produces more hashes per second is faster.
Even on a general CPU, as opposed to a custom-made one for RX there are shortcuts that you can take. Let me give you example written in RandomX pseudocode:
IADD_RS r0, r2, SHFT 3
ISWAP_R r6, r0
IXOR_R r7, r0
IXOR_R r4, r6
Can be reduced to:
IADD_RS r0, r2, SHFT 3
IXOR_R r7, r6
IXOR_R r4, r0
In modern CPUs, this is called register renaming. The algorithms behind it are pretty complicated (see Tomasulu algorithm) , so I’m not surprised RandomX team wasn’t aware of that possibility.
GM: Is RagerX the fastest RandomX miner, and what evidence is there to back this claim?
FI: There will always be outlying CPUs — and differences between individual miner versions. As of the date of this interview RagerX is around 3–4% faster than xmrig.
But my recommendation is for the miners to try it themselves rather than getting into shitposting matches with sech1 from xmrig (last guy got berated by him for “not tuning Windows properly”)
GM: Does RagerX use XMR-Stak-RX?
FI: No, they are different projects by the same guys
GM: RagerX does not have a miner fee. What is a miner fee?
FI: Xmrig default fee is 5% (this is mostly to rob new users who don’t know how to set it up, it can be reduced to 1%). This money goes to the developer. On top of that there is money (usually 0.5% — 1%) that goes to the pool owner.
[RyoRU (RagerX team) suggested I provide this link detailing the lengths to which RagerX has sought to be transparent in this matter.]
GM: Since the software is free, is the plan to make money from pool fees?
FI: Our miner fee is combined with the pool fee into a single 3.5% fee. For most miners the effective earnings will actually be better than running xmrig at 0% fee.
GM: Are RagerX users obliged to use the RagerX mining pool, or can they use any pool they want to?
No, they can use any pool that supports RangerX protocol, @SoapyFresh just set one up from mosu’s FOSS frontend.
GM: Is there a technical reason why the RagerX pool only permits RagerX miners?
FI: Yes, this allows us to collect detailed performance data, and to serve customised code to match miner’s CPU. That said — a bypass proxy that would terminate that protocol and translate it to json-based one that other pools use is possible, and we plan to make it.
GM: At present RagerX’s pool represents a tiny fraction of the overall network hashrate. Why, and what plans do you have for improving this?
FI: Total world domination is not the goal here
. Xmr-stak got so large because it was simply better. Sure it took about 6–8 months but it happened naturally.
With RagerX additionally we added an option for affiliate marketing. If you run a youtube channel, or simply have friends that are large miners, you can earn money (0.5%) simply by recommending other miners. As a cherry on top, you also get 0.5% from people they recommend.
GM: Ragerx’s pool fees are higher than other pools. Are you confident people will be willing to pay these because the miner is faster?
FI: At the end of the day, the important stat is how much you earned. And a faster miner earns more even with a higher fee. And the fee is only higher assuming you know how to set up xmrig correctly. If you don’t you are 1.5% better off just burning ragerx usb drive.
GM: Only a Monero pool currently exists. What other coins will be added?
FI: Loki, Arweave (I think they tried to pretend that pools are impossible, or something, so that will be an embarrassment), Epic (both cpu+gpu) and Monero+Ryo (Monero cpu + Ryo gpu) are on the cards.
GM: Is XMRig the most popular miner for RandomX? If yes, then why is this the case if it’s not the fastest?
FI: Because it is aggressively shilled by Monero — to the detriment of their own coin.
Example here — the guy is unwilling or unable to understand that a bug in xmrig means Monero’s hashrate is going down to 0 H/s.
GM: Would you like to publish a response to the comment in the above screen?
FI: My response would be that they copied xmr-stak algos. That’s what open source is about — we are just a bit mature not to rage about it.
GM: Is XMRig developed by Core XMR team, and do they receive the miner fees?
FI: This term “core xmr team” is nebulous — so hard to tell. Sech1 both works on xmrig and RandomX, so it is likely to some degree.
GM: Could you mention a couple of examples of how you tweaked the OS to improve performance? What distro is RagerX using?
FI: We are using heavily customised Alpine — at this point I would actually call it “roll your own” since we replaced: kernel, bootloader etc.
One major tweak it that all the drivers and that need to be loaded to make MSR and large-page based speedups, “just work”, rather than needing to be manually set up like on windows
GM: The domain ragerx.lol hosts the project. Why pick that domain?
FI: As usual with me it is a multi-layered in-joke. It can refer to how how Monero guys rage all the time about us, but also that we had a really good time writing it
Not so long ago the Ethereum Geth client had a critical bug which could have been ruinous for the network had a second client without the bug (Parity) not existed.
Diversity of software increases network security and decentralization. Fireice_uk is certainly a controversial figure in Monero circles, but consideration of this is surely outweighed by the importance and quality of his team’s work.
That Monero would likely have only one miner without their efforts is a remarkable and perhaps distressing fact for a cryptocurrency valued at over 1.2 billion USD. That Fireice’s offerings are repudiated out-of-hand by some members of that community is alarming.
Exactly, diversity there is fundamentally a good thing. This kind of scenario is exactly what I was trying to point out to a more indoctrinated cult member in the reddit convo.
RagerX provides a simple and fair means of on-ramping new miners with a bootable OS, and even offers an affiliate program. Anybody interested in mining Monero, and other RandomX coins, will want to check out RagerX.
I’d like to thank Fireice_uk and RyoRU. With respect for the latter’s assistance I will conclude with his words:
“RagerX is unique due its ability to update and serve updates to every user. So both parties are happy: users get the fastest miner, devs get statistics and users as a big ‘lab’.”