Qubic's Selfish Mining on Monero

A simple overview of what happened and how we analyzed it.
Monero block data: 2025-08-01 → 2025-11-02
Qubic jobs data: 2025-09-29 → 2025-11-02

1. What was happening?

In late 2025, we began noticing many orphaned blocks appearing on the Monero blockchain. These orphans weren’t random. They seemed to coincide with mining activity coming from Qubic, a project that connects external miners through job notifications.

When Qubic miners worked on Monero, their private blocks often conflicted with honest miners. This led to repeated short forks, visible as parallel block runs on our visualizer. At the same time, Qubic claimed very high hashrates (OVER 51%) that didn’t match what the Monero network actually accepted. Qubic suggested that they were mining aggressively, but not always successfully.

2. What is Selfish Mining?

Selfish mining is a strategic attack on a Proof-of-Work blockchain, first formally described by Ittay Eyal and Emin Gün Sirer in 2013.

In this strategy, a miner (or pool) does not immediately broadcast the blocks they find. Instead, they keep them secret to build a private chain while the rest of the network continues working on the public chain. The selfish miner only reveals their private blocks at a strategic moment to override the public chain.

The core goal is not just to find blocks, but to force honest miners to waste their computational resources on blocks that will eventually be discarded (orphaned). by invalidating the work of honest miners, the attacker increases their relative share of total valid blocks, thereby earning higher block rewards than their actual hash power would normally justify.

Illustration explaining selfish mining (private branch vs public chain, timed reveal)
Selfish mining at a glance : attacker mines a private branch and reveals it to override the public tip. (Click to open full size)

3. Data / Analysis

To figure out which blocks belonged to Qubic, we looked at patterns in the coinbase transactions. Every mined block has a coinbase, a unique fingerprint of who mined it. Inside that data, there’s a field called extra_nonce.

Our dashboard uses a local monerod node and continuously fetches fresh block data via RPC. We then apply our attribution heuristic and overlay Qubic-attributed blocks on Monero’s canonical timeline so you can see where they overlap, compete, or fork away.

Data coverage in this dashboard: Monero blocks from 2025-08-01 to 2025-11-02, and Qubic job notifications from 2025-09-29 to 2025-11-02.

How do we know which blocks are Qubic’s?

Monero is privacy-first by default, so you cannot simply “see” the mining pool from the chain. Block rewards are paid via a special coinbase transaction. Some pools later publish a view key so anyone can verify that the reward really belongs to them.

Qubic also publishes view keys, but only after each weekly mining epoch ends, via their official Discord. These view keys let us confirm, in hindsight, which main-chain rewards were theirs, but they cannot tell us about brand-new blocks or already-orphaned blocks.

To study Qubic’s behavior in real time, we therefore combine two signals: late-published view keys (for ex-post verification) and a distinctive pattern we observe in the extra_nonce field of their coinbase transactions (for real-time attribution). During our study window, blocks later confirmed as Qubic by view keys all followed this same pattern, while ordinary Monero blocks almost never did.

In short: view keys validate our labels after the fact, and the extra_nonce pattern lets us track Qubic’s blocks live and include orphaned branches that would otherwise be invisible.

For the full probabilistic model, validation, and attack analysis, see the paper on arXiv:

📄 Inside Qubic's Selfish Mining Campaign on Monero: Evidence, Tactics, and Limits (full paper on arXiv)

4. Details

Selfish Mining Blocks

Visualizes both Monero and Qubic branches, showing where their blocks collided or diverged.

Open →

Qubic Job Notify

Shows live Qubic job notifications and how they align with Monero block heights.

Open →

Monero Blocks

Lists canonical Monero blocks and identifies orphans during Qubic’s activity windows.

Open →

Qubic Block Count

Aggregates how many Qubic-attributed blocks appeared in each time period.

Open →

Orphan Block Count

Shows how often Monero’s blocks were replaced or orphaned during Qubic’s attacks.

Open →