The MRL meeting welcomed co-author Suhyeon Lee to discuss the paper "Inside Qubic's Selfish Mining Campaign on Monero: Evidence, Tactics, and Limits." Participants clarified misconceptions about the hashshare calculations, which incorporated both mainchain and orphan blocks, shared additional datasets on Qubic's mining activities, analyzed inefficiencies in Qubic's selfish mining strategies, and explored opportunities for collaboration to improve the paper. Thank you, Suhyeon, for joining!
rucknium: 3. Lee, S., & Kim, H. (2025). Inside Qubic's Selfish Mining Campaign on Monero: Evidence, Tactics, and Limits. (
moneroresearch.info/293)
Welcome, suhyeon: (Suhyeon Lee), co-author of the paper!
How did you find out about this Matrix room by the way?
suhyeon: Hello Thanks for inviting me and also for discussion
Oh I found your discussion in X (twitter) and tried to reach out for discussion
I wanted to mention the description of the hashshare calculation is wrong, not the hashrate calculation itself
Also, wanted to know missing Qubic blocks from our dataset
Actually, this work was not systematized, one of side project with me and one undergraduate student (my mentee)
So dataset was collected after most of selfish mining
rucknium: suhyeon, I think datahoarder, true to name, has even more data than that.
datahoarder: indeed.
suhyeon: So there was some mistake and thanks to you we can improve the paper
Also, for that, I want to mention, at least, appreciation to you guys in paper later. If possible, cowork on the paper will be nice. :)
datahoarder: Hi suhyeon. A few notes. I mostly noted that you lacked granular data on Qubic, and mostly ran on on-chain plus tasks from dispatcher (what you call job_notify)
rucknium: suhyeon, Do you plan to publish the analysis code and make it open source?
suhyeon: datahoarder: Yes we collected such data during only very limited time.
rucknium: suhyeon, I would be open to collaboration on the paper :)
suhyeon: rucknium, Yes
datahoarder: I have an archive on all historical tasks from their network, with full block template. Additionally, we also have a record of all solutions of 640M or higher (a block is a high difficulty solution, usually at several G)
suhyeon: Currently, I'm very busy with my main job. After some hassle, of course, we should publish all the codes.
datahoarder: That gives us around 6-20 solutions for every task which allows calculating hashrate of Qubic directly from source.
suhyeon: The reason why we didn't publish the codes is now it's too much with mess
datahoarder, Great. How did you collect all the data?
datahoarder: If you go back to when your paper was posted in this room historically I posted some charts comparing what we saw hashrate wise from them, but that's captured from the live database.
We connect to their consensus network directly and gather raw packets. These are verified against public keys
Then we gather tasks from dispatcher, and solutions for each task, provided by computors and signed by them.
Each solution includes nonce values and PoW hash (for verification)
suhyeon: okay I'll check this later
What was the major difference in conclusions of your analysis other than hashrate?
datahoarder: However, this dataset has not been publicly gathered/released at this moment. Nonetheless the hashrate values are mostly similar to the ones reported by Qubic
suhyeon: What I wondered was their selifsh mining strategy in the research
datahoarder: We also saw similar lack of efficiency on their selfish mining. Initially estimated to -20% losses, later they optimized to -10-8% losses
The state machine you built is generally very close to what we observed, though they changed it over time.
rucknium: IMHO, their aim was propaganda. To publicize their cryptocurrency.
suhyeon: I came across Qubic guys in TOKEN 2049 Singapore
I asked what they're doing in Qubic
rucknium, I agree
Becuase of that I know Qubic now X)
They said they're doing optimized selfish mining
So I wondered they use theoretically optimized selifsh mining based on the Markov chain analysis
datahoarder: Additionally, there is bias on blocks published by Qubic. Not all of them were intended to be published, some of the bias was caused by sech1 / me :)
suhyeon: So I checked if they did 'catch up' which means they're behind and try to catch the main chain height. But we didn't find any intended or systemic trials on it.
datahoarder: in many cases this bias just made them more profitable (it prevented their selfish mining) and your analysis covers later stages, which were not biased this way.
suhyeon: Rather, we found they made selfish mining less efficient that is analyzed in the paper
datahoarder: suhyeon, They do not. The most they do is if they are at "par" after releasing their chain they will stick to it until next block.
rucknium: suhyeon: My guess is that they released blocks manually. It was a human judgement decision usually.
datahoarder: It was automated in later stages. Some of the first long trials were manually released, yes
suhyeon: "datahoarder: Additionally, there is bias on blocks published by Qubic. Not all of them were intended to be published, some of the bias was caused by sech1 / me :)" Can you explain it more, I didn't understand clearly
datahoarder: Basically. We read their nonces and built blocks to send them to the Monero network.
suhyeon: rucknium, if it's human decision, wow. Then, how did you guess so?
datahoarder: This makes them look like they weren't selfish mining for a given period, but they were. This was later prevented by including undisclosed transactions in their blocks.
rucknium: datahoarder and sech1 prevented their long private alt-chains from forming by forcing them to be public.
datahoarder: Initially we pushed all instantly, later kept their chains short
rucknium: It was some intense spy-vs-spy, cloak-and-dagger maneuvering.
suhyeon: datahoarder: That's smart. Then, they changed a strategy for that?
rucknium, Sounds like game theory
datahoarder: They added encryption. They added new encryption. They added new new encryption. They blamed pools, disabled task dispatchers, and so on.
rucknium: A heroic battle in the shadows
datahoarder: Nothing worked until they added the undisclosed transactions, after it was discussed in an MRL issue :)
suhyeon: You are cool, guys
datahoarder: All they did was centralize their network more, anyhow. Their infrastructure back then and now is effectively just a centralized pool with central dispatcher authority that decides what to mine
The encryption algorithms they use were kept private as well. So anyone verifying solutions is unable to do so anymore.
suhyeon: I think I can't stay much longer cause it was not a plan today for me. How can we communicate later? Especially datahoarder
datahoarder: The encryption is kept secret, only to be revealed via discord DMs
I'm around here and
matrix.to/#/#monero-research…
suhyeon: Okay I'll talk to there later then
datahoarder: As of last note, besides a specific oddity during a night, the reported hashrates on their API were mostly correct to what the internal stratum was.
Any other discussion on the paper/Qubic for now if suhyeon has to leave?
rucknium: suhyeon, Thank you very much! It's always great to see more people researching Monero.
Here is something I wrote about Qubic's disruption:
rucknium.me/posts/monero-18-…
suhyeon: Oh thank you so much. I'll check this too.
Thanks for invitation and also thanks for your information.
Have a good day guys
libera.monerologs.net/monero…