Here is the error: a protocol upgrade entered its mandatory signaling phase with less than three percent of the network's hashpower behind it. Not thirty. Not thirteen. Three. BIP-110, an obscure early attempt to reshape how Bitcoin activates soft forks, opened its forced-signaling window the way a lighthouse opens its beam — indifferent to whether any ship is watching.
The data does not reconcile with the mechanism's intent. Mandatory signaling is an ultimatum delivered through code: after a designated window, nodes running the new client refuse blocks that lack a specific version bit. It is designed to compel compliance. It assumes the target will eventually conform. The 3% support number rendered that assumption absurd before the first enforcement block could be mined.
Tracing the gas leak where logic bled into code: this is not a bug report. It's a governance autopsy. The system claims that consensus mechanisms are neutral arbiters of network agreement. The historical record shows something different. When a signaling window opens with sub-3% participation, someone made a deliberate decision to bypass the network's production layer. The interesting question isn't whether BIP-110 would activate. It's why anyone thought it could.
Context
BIP-110 belongs to a forgotten lineage of protocol deployment mechanisms. Before BIP-9 normalized miner voting with its 95% hashpower threshold across a difficulty period, before SegWit's careful activation choreography, there was a more aggressive proposition: force the upgrade through node-side enforcement.
Mandatory signaling, as implemented in this experiment, transforms validation logic from “this block is valid if it satisfies consensus rules” into “this block is valid if it satisfies consensus rules AND carries the designated version bits.” The second clause is not a technical requirement. It is a political position compiled into the client. Version bits are metadata, not consensus-critical data. Elevating metadata to a block validity condition creates a failure mode where nodes disagree not on transaction validity, but on block acceptance policy.
The intellectual lineage traces to the User Activated Soft Fork (UASF) tradition — the belief that node operators, not miners, hold the ultimate authority over Bitcoin's rules. In theory, this is unimpeachable. Nodes validate. Nodes enforce. Nodes define what Bitcoin is. Miners propose; nodes dispose. BIP-110 was an experiment in making that theory mechanically real.
The results were not ambiguous. With miner support cratering below 3%, the mechanism approached its own contradiction. If enforced, honest nodes would reject blocks produced by more than 97% of the network's hashpower. The chain would bifurcate into two consensus views, each believing it was the legitimate ledger. In the silence of the block, the exploit screams.

The hard fork fallback plan that circulated alongside this episode confirms the anticipation of failure. Developers built an exit ramp before the activation window even opened. That is not confidence. That's an insurance policy against your own governance mechanism.

Core Analysis
Let me examine the mechanism's failure modes from a code-level perspective. Based on my audit experience, I can tell you that the most dangerous branches in any system are not the primary execution paths — they are the conditional branches that assume cooperation. BIP-110's mandatory signaling is exactly such a branch. It assumed miners would fall in line when confronted with node-side enforcement. The 3% support figure falsified that assumption before the first enforced block was mined.
The rejection logic itself is simple at the bytecode level. The client checks a block header's version field against a preconfigured bitmask. If the bit isn't set, the block is rejected. From a compiler's perspective, this is trivial. From a governance perspective, it is a declaration of war against hashpower. The validator is saying: I will not accept the chain you produce. The miner is saying: I will not mine the chain you validate. Neither statement can persist indefinitely without breaking something.
The economic layer makes the outcome deterministic. Miners signal for upgrades when signaling produces revenue. BIP-110 offered no fee improvement, no block space efficiency gain, no new transaction types. It was a governance mechanism, not an incentive upgrade. Rational miners evaluated the proposition and declined. The 3% figure is not a failure of coordination. It's a failure of value proposition. You cannot force economic actors to adopt a change that makes them poorer, no matter how many nodes enforce it.
The comparison with BIP-9 is instructive. BIP-9 replaced “force after window” with “vote with 95% hashpower over a difficulty period.” The threshold is high, but the mechanism is fundamentally cooperative. Miners signal when ready. The activation waits. No enforcement. No ultimatum. This design became the workhorse for some of Bitcoin's most significant upgrades. Notice what changed: the social contract shifted from node-imposed compliance to miner-mediated consent.
Governance is just code with a social layer. BIP-110 attempted to delete the social layer entirely. The network corrected course. But the correction was not inevitable. It required the failure to be visible enough that the community recognized what was being attempted.
Model the game theory cleanly and three outcomes emerge. First, enforcement never materializes because too few nodes run the new client, and the BIP quietly dies from apathy. Second, enforcement captures a minority of nodes, creating a stale-but-valid fork that hashpower orphans without ceremony. Third, enforcement captures large node operators — exchanges, custodians, major infrastructure providers — while miners ignore it. This is the nightmare scenario. The economic layer and production layer disagree on what the blockchain is. This is the closest Bitcoin has to a governance stack overflow.
The third outcome is the one that matters historically. If exchanges and custodians had adopted the BIP-110 client while miners stayed on legacy versions, the asset would have split. Markets would price the uncertainty. Withdrawals would freeze. The “test” framing in the original reporting doesn't reduce this severity; it amplifies it. Someone ran an experiment on mainnet governance with real value at stake, protected only by a fallback plan that assumed everyone would behave reasonably.
Now the data gap. The reporting around this episode mentions something important: low miner support does not distinguish between active opposition and indifferent silence. In the 2015-2016 era, many mining pools ran default configurations. A pool operator might never have read the BIP. The “3% support” statistic could mean informed rejection, or it could mean nobody upgraded their software. The distinction is crucial for governance diagnosis. Active rejection indicates a preference against the change. Apathy indicates an information failure. Both are governance problems. They require opposite remedies.
The deeper lesson from my audit work: every failure has two timelines. The public timeline is the one the reporting captures — the announcement, the support numbers, the retreat. The technical timeline is the one that matters — the code paths, the fallback triggers, the state transitions that were one misconfiguration away from executing. BIP-110's mandatory signaling never activated. But the state transition it proposed remains possible. Any node operator can fork their client today and refuse blocks that don't carry certain bits. The mechanism didn't die. It just lost its first referendum.
Contrarian Angle
Here is the counter-intuitive reading: BIP-110's failure was its success. Bitcoin absorbed a governance challenge — a mandatory signaling attempt with 3% miner support — without a chain split, without a market collapse, without a permanent fork. The network survived its own governance stress test. The fallback mechanism wasn't a weakness. It was failure tolerance working exactly as designed. The system proved it could reject bad proposals without catastrophic collapse.
But the blind spot persists. The 3% number flatters the network's governance health more than it deserves. If the support was low because of indifference, not opposition, then the governance system didn't reject BIP-110 through deliberate decision-making. It rejected it through inertia. That's not a triumph of decentralized deliberation. It's a default outcome dressed up as consensus.
There's also the question of authority. The BIP process is open, but the client release authority was concentrated. A mechanism that forces upgrades without miner consent is, in governance terms, a seizure of the activation process. That it failed doesn't make the attempt benign. It demonstrates that a small group of developers could, under different conditions, attempt to override the production layer. The architectural capability persists even if this particular activation didn't.
Optics are fragile; state transitions are absolute. The optics here — a failed experiment, an orderly retreat — obscure the absolute state transition that almost occurred: establishing the precedent that node-side enforcement is a legitimate activation path. Had BIP-110 succeeded, future proposals might have routed around miner consent entirely, permanently restructuring Bitcoin's power distribution. The precedent was the real test, and its failure is why we still debate activation through miner signaling today.
Takeaway
BIP-110 is a historical footnote, superseded by BIP-9's cooperative signaling. But its ghost haunts every subsequent activation debate. When network participants disagree about protocol direction, the foundational question remains: who legitimately has the authority to change Bitcoin? BIP-110 answered “nodes.” The network answered “no one, unilaterally.”
The next time a proposal surfaces with UASF-style activation language, check the miner support number before reading the philosophy. If support sits near single digits, you are not looking at an upgrade. You are looking at governance conflict wearing consensus clothes. The 3% warning from BIP-110 wasn't an anomaly. It was a diagnostic. The patient survived. The symptom never resolved.