Image

QUBIC BLOG POST

Qubic BPP-9000 Explained: How the Mining Algorithm Works

Written by

The Qubic Team

The Qubic Team

Published:

Listen to this blog post

Image

BPP-9000 asks Qubic's AI miners for something odd: a neural network that matches a year of Bitcoin's hourly moves without ever seeing a price.

There's no price feed. The network runs on its own, and every hour it calls wrong counts against it.

So how does a network like that get better, and how does anyone know a better one is real? Between them, BPP-9000 and Ant Colony Mining answer both questions.

What Is Qubic BPP-9000?

BPP-9000 is the Qubic mining algorithm behind Useful Proof of Work today. Instead of grinding hashes, miners search for small artificial neural networks whose output follows the hour-by-hour direction of Bitcoin's price, taken from historical data.

In practice, a miner takes an existing network, changes it, and runs it against the historical task to count how many hours it gets wrong. If the changed network beats the one it started from, the miner submits it. Every node can then check that claim for itself.

Since Epoch 228, BPP-9000 has run inside Ant Colony Mining, which decides how those submissions build on each other.

What Are Miners Actually Trying to Achieve?

The target is a list of hourly labels: each hour of Bitcoin's price history becomes one entry, up or down. A network produces its own stream of up-or-down calls, and the scorer compares them with the list hour by hour. The score is the number of hours it gets wrong, so lower is better.

The graded window covers one year of hourly labels, 8,760 hours. Starting with Epoch 235, that year begins on July 1, 2025. Earlier epochs used a year starting January 1, 2025. 

The Epoch 233 release added a twist. When a network passes the defined error threshold, the window slides forward an hour and the network is scored again, for up to 168 hours. So a result has two numbers: how far its window moved, called the shift, and how many hours it missed there. The further a window moved, the higher the result ranks, and misses only break ties.

As for never seeing a price: BPP-9000 networks received no input neurons. Each one starts from a fixed internal state and runs by itself, so miners are really hunting for a small self-running system whose output stays in step with the market's past direction for as long as possible.

How Does a BPP-9000 Network Work?

Ordinary computers work in bits, 0 or 1. BPP-9000 neurons are ternary: each one holds 0, 1 or unknown. Three-state logic also runs through Qubic's Neuraxon research.

A network has 64 neurons. Each neuron reads three others, picked by the network's wiring. Three inputs with three possible values give 27 combinations, and every neuron carries its own rule table that says what value it takes next for each one.

The network runs step by step, in ticks. On every tick, all neurons update together from the values their inputs had on the previous tick. Readers who know random Boolean networks will recognize the design: Stuart Kauffman used networks of fixed-input nodes, each with its own lookup rule, to model gene regulation in 1969. BPP-9000 adds a third state.

That makes a network nothing more than three parts:

Part

What it controls

Start state

Each neuron's value before the first tick

Wiring

Which three neurons each neuron reads

Rule tables

What each neuron does with every input combination

These are also the only things a miner can change.

How "Unknown" Lets a Network Set Its Own Pace

One neuron acts as the network's clock, and the scorer reads an answer only on ticks where that neuron has left the unknown state. Until then the network keeps computing internally, so it chooses for itself how many ticks to spend on each hourly call.

When the clock fires, a second neuron gives the call, up or down. If it still reads unknown at that moment, the hour counts as wrong. A network that never gets around to answering fails outright: the scorer gives up after 100,000 ticks, and a timed-out run can't be accepted.

How BPP-9000 Got Here

The milestones that shaped the current version:

Epoch

What changed

224

Activated, as scheduled at the July 23 All-Hands, with miners ranked by best score. The August 6 All-Hands reported it live on mainnet.

228

Ant Colony Mining went live, and the wandering (explore) phase was switched on.

233

The node release for this epoch, added start-state and wiring mutation alongside rule tables and introduced the sliding one-year window.

235

A new task file moves the training data forward six months. The hourly history now starts on July 1, 2025 instead of January 1, 2025. 

How Does a Miner Improve a Network By Mutation?

A miner doesn't start from scratch. They take an existing network parent and mutate it. But in Qubic, that parent might be yours, or it might be one found by another miner in the wider pool. This is where individual mutation meets collective strategy.

The walk has two phases. First it deliberately wanders, keeping changes that leave the score the same or make it worse and rolling back changes that improve it. Then it climbs, keeping any change that doesn't make the score worse. The best network found while climbing becomes the candidate, and it only counts if it strictly beats the parent. A tie is rejected.

Wandering away from a good network sounds backwards. The code calls that phase an "anti-attractor," which suggests the reason: a strong parent sits where easy improvements are already taken, so the walk moves somewhere new before climbing. That's our reading of the label, since the documentation gives no fuller rationale.


Figure 1. A search that only climbs can stall on a lower peak like A or C, while BPP-9000’s wandering phase moves the walk somewhere new before the climb begins. Image: Fitness Landscape Cartoon by Claus Wilke, Wikimedia Commons (Public domain)

How Are Improvements Verified?

Every node can check a miner's work itself, because BPP-9000 is fully deterministic.

A miner submits a short recipe for rebuilding the network, and any node holding the parent can replay it change by change, rebuild exactly the same network and get exactly the same score, which is why the specification demands bit-exact scoring. A faked score doesn't survive the replay, and the whole network agrees on the result.

An economic check sits on top. The computor that publishes a solution on-chain puts up a refundable 1,000,000 QU deposit and gets it back only if the solution passes the acceptance rules and its claimed score matches the replay. Otherwise the result goes unranked and the deposit is burned. Resubmitting an old solution is caught by a separate acceptance rule.

What's in a Submission

Field

What it's for

Mining identity

The tree the solution belongs to. For pools, this is the computor

Parent reference

The earlier network the walk started from

Nonce (32 bytes)

The algorithm, the mutation settings and the walk's random seed

Anchor tick

Ties the walk to recent chain data

Claimed score

What the miner says the network scored

For miner and pool developers. Check your task file against the epoch context hashes before mining, because a mismatch forfeits the deposit on every submission. Epoch 235 ships a new task file with a new data hash, so update before it starts. Anchor only on ticks that contain data, or the solution is rejected and its deposit forfeited. Keep the computor funded above the deposit too, since it pays and workers post nothing on-chain. 

What Makes Qubic Ant Colony Mining Different?

Understanding how a single network mutates and passes verification is only half the picture. To see how miners build on each other's results within an epoch, we have to look at the framework holding them together: Ant Colony Mining. Some updates have used the two names interchangeably, but they are distinct components:


Ant Colony Mining

BPP-9000

What it is

The search structure

The mining algorithm inside it

What it decides

How results build on each other, which ones are accepted and how miners are ranked

What a network is, how it's mutated and how it's scored

Put simply, BPP-9000 defines the puzzle and how to attempt it, while Ant Colony Mining decides how attempts connect and which ones count. Keeping them apart means a future algorithm can use the same structure as it stands.

Each mining identity grows its own tree of solutions during an epoch, starting from a virtual root network derived from its public key and the epoch’s seed. A miner can extend the root or any accepted network in the tree, and the new network must beat the one it came from. Starting straight from the root adds one gate: clearing the epoch's error threshold, which defaults to 4,350 misses in the current code.

For pools, the tree belongs to the computor the workers mine for, so one worker's accepted improvement becomes a starting point for all the others. Over the epoch, improvements accumulate into the tree, and the best networks end up at the tips of long chains of small, verified improvements, the way ants keep reinforcing the trail that works.

The name comes from ant colony optimization, search methods Marco Dorigo and colleagues introduced in the early 1990s, where simulated ants strengthen good paths with artificial pheromone. Qubic keeps the idea of building on paths found earlier in the same tree, with the record of accepted networks as its primary memory.


Figure 2. In classic ant colony optimization, pheromone builds up fastest on the shortest route between nest (N) and food (F) until most of the colony follows it, the idea Ant Colony Mining borrows without the pheromone. Image: ACO Branches by Johann Dréo, Wikimedia Commons (CC BY-SA 3.0)

Ranking: The Best Network Counts

Each identity is ranked by its single best network, so a pile of middling submissions does nothing for its position. That was BPP-9000's first big change. As the August 6 All-Hands put it, miners used to be paid for producing the most answers and are now paid for producing the best one. Epochs run for a week, and under uPoW those results feed into how computors rank.

When an epoch ends, the node writes out its best networks, up to 676 of them (the number of computors), for offline analysis. Nodes don't read that file back, and the next epoch starts every tree from a fresh root.

What Are the Limitations?

What a BPP-9000 Score Can't Tell You

A low score means a network reproduces one stretch of Bitcoin's hourly history closely. That's a hard target and a verifiable one. Predicting what Bitcoin does next is a different claim, and a BPP-9000 score doesn't support it.

  • The network has no inputs. It can't respond to new market data, because it never receives any.

  • Every graded hour comes from a fixed historical file. Hours added by sliding the window are scored and searched against like the rest, so they don't act as a held-out test.

  • Mining tries an enormous number of variations against the same data. Research on backtest overfitting (Bailey et al., 2014) shows that the more configurations you test on one history, the more likely the winner looks good by chance and disappoints on new data.


Figure 3. The orange curve fits the training data almost perfectly but does worse on new data from the same source, the same risk a score earned on one fixed history carries. Image: Traintest by Skbkekas, Wikimedia Commons (CC BY 3.0)

Scores aren't directly comparable across epochs either. The task file's built-in wiring changed for Epoch 230, the scoring window changed at Epoch 233, and from Epoch 235 networks are graded on a different year of Bitcoin's history, starting July 1, 2025.

Read a BPP-9000 score as a measure of how well the search is going on this benchmark. It isn't a forecasting result, and it offers no basis for trading.

The Search Continues 

BPP-9000 will undoubtedly continue to evolve through updates to how networks are searched, tested, and mutated. But through every iteration, one core principle remains immovable: the algorithm may change, but reproducibility is the rule that holds the network together.

Whether you're configuring a local test run or spinning up a pool computor for the current epoch, success comes down to disciplined optimization within a deterministic framework.

Ready to dive in? Check your task files, sync your context hashes, and start building a network that earns its place on-chain!



© 2026 Qubic.

Qubic is a decentralized, open-source network for experimental technology. Nothing on this site should be construed as investment, legal, or financial advice. Qubic does not offer securities, and participation in the network may involve risks. Users are responsible for complying with local regulations. Please consult legal and financial professionals before engaging with the platform.

© 2026 Qubic.

Qubic is a decentralized, open-source network for experimental technology. Nothing on this site should be construed as investment, legal, or financial advice. Qubic does not offer securities, and participation in the network may involve risks. Users are responsible for complying with local regulations. Please consult legal and financial professionals before engaging with the platform.