Consensus-Breaking Bugs in the Release Candidate
CRITICAL: SCRIPT-EXECUTION CACHE POISONING
A serious consensus bug was found in Bitcoin Knots' BIP-110 implementation by @l0rinc. A reorg that moves a funding transaction across the activation boundary can poison the script-execution cache, causing a node to accept blocks containing BIP-110-invalid transactions.
HOW THE CACHE POISONING ATTACK WORKS
1
Grandfathering exemption for pre-activation UTXOs
BIP-110 exempts UTXOs created before activation height
H from the new rules. Spending these uses relaxed per-input flags. But the cache key is computed from tx-wide strict flags.2
Funding tx confirmed at height H-1 (pre-activation)
A funding transaction creates a UTXO at height
H-1. Because it's pre-activation, spending this UTXO is grandfathered — validated with relaxed flags. The result is cached under the strict-flag key.3
Reorg moves the funding tx to height H (post-activation)
A competing chain reorganizes the tip. The funding tx is now confirmed at
H or later — the UTXO is no longer grandfathered. Spending it should now use strict BIP-110 rules.4
Cache serves stale relaxed-flag result
The node encounters the same spending tx. It looks up the cache using strict flags as the key and finds a cached "valid" result from when relaxed flags were used. It skips re-validation and accepts the block.
5
Consensus split
The poisoned node disagrees with correctly-implementing nodes. This is a chain split — the most dangerous class of bug in Bitcoin consensus code. The split depends on node-specific cache state, not block data.
ADDITIONAL BUGS REPORTED
Beyond the cache poisoning issue, @kwsantiago reported additional bugs on PR #238 (mempool enforcement issues, widened cache attack surface), and @defenwycke reported further issues. The test suite was already known to be failing on release from the February analysis.
WHY THIS MATTERS
This is exactly the kind of bug that BIP-110 critics warned about: per-input grandfathering with activation-boundary rules is inherently tricky. The script-execution cache keys use tx-wide strict flags, but BIP-110's UTXO-age exemption causes validation to use per-input relaxed flags — a mismatch the cache was never designed for. This bug wasn't caught by Knots' test suite.
Defections from the Defectors
BIP-110 IS BLEEDING SUPPORTERS
Several prominent BIP-110 supporters have publicly withdrawn their support in March 2026. The combination of implementation bugs, lack of miner signaling, and growing recognition of the proposal's technical shortcomings has caused a visible erosion in the coalition.
@lukedewolf ↗
Publicly withdrew support for BIP-110, citing concerns about the implementation quality and the growing evidence that the approach is technically unsound. Previously an outspoken advocate of the proposal's anti-spam goals.
@hodlonaut ↗
Withdrew support, signaling a shift among the "Bitcoin maximalist" community members who were among BIP-110's most vocal champions. A notable defection given hodlonaut's prominence in the community.
PATTERN RECOGNITION
The defections follow a pattern seen in previous contentious proposals: initial enthusiasm driven by ideological alignment ("Bitcoin should be money, not a data layer") gives way to pragmatic retreat once the technical costs become apparent. The cache poisoning bug was a turning point — it made concrete what critics had been arguing abstractly: consensus changes are hard, and this one wasn't ready.
1
BLOCKS SIGNALING
~2%
REACHABLE NODES
6mo
UNTIL DEADLINE
THE MATH DOESN'T WORK
With one signaled block (0.05% of needed), approximately 6 months until the September 2026 activation deadline, and supporters actively leaving — the path to 55% miner support (1,109 of 2,016 blocks in a difficulty period) appears effectively impossible. No major mining pool has indicated willingness to signal. Meanwhile, URSF coordination is actively raising the cost of signaling.
The OP_RETURN War
CONTEXT: WHAT TRIGGERED ALL THIS
Bitcoin Core v30 removed the long-standing OP_RETURN standardness limit (
83-byte scriptPubKey = 80 bytes data + 3 overhead, in place since v0.12.0). BIP-110 was born as a reaction: if Core won't enforce limits, we'll do it at the consensus layer. The debate has since evolved into a broader philosophical war about what Bitcoin's blockspace is "for."ANTI-OP_RETURN CAMP
Position: Arbitrary data storage "abuses" Bitcoin. Blockspace should be for financial transactions only. Miners have distorted incentives. The OP_RETURN limit removal "opened the floodgates."
PRO-OP_RETURN CAMP
Position: OP_RETURN is the most efficient way to anchor data. Banning it just pushes data into witness/multisig outputs which are worse. Users pay fees — blockspace is neutral. Censorship-resistance is the point.
MEMPOOL.SPACE RESEARCH REPORT
Mempool.space published a comprehensive research report analyzing OP_RETURN usage on the Bitcoin blockchain. Key findings:
1. OP_RETURN usage is modest: Despite the rhetoric about "spam flooding the chain," OP_RETURN outputs account for a small fraction of total blockspace.
2. Removing limits didn't cause a flood: The data shows no dramatic increase in OP_RETURN usage after the Core v30 limit removal.
3. Data will find a way: When OP_RETURN was more restricted, data embedding moved to less efficient methods (bare multisig, witness data) — using more blockspace, not less.
1. OP_RETURN usage is modest: Despite the rhetoric about "spam flooding the chain," OP_RETURN outputs account for a small fraction of total blockspace.
2. Removing limits didn't cause a flood: The data shows no dramatic increase in OP_RETURN usage after the Core v30 limit removal.
3. Data will find a way: When OP_RETURN was more restricted, data embedding moved to less efficient methods (bare multisig, witness data) — using more blockspace, not less.
MURCH'S ANALYSIS
@murchandamus (Bitcoin Core contributor) published a detailed analysis of the OP_RETURN debate, arguing that the data empirically shows restricting OP_RETURN is counterproductive: it doesn't reduce data on chain, it just makes data storage less efficient and harder to prune. OP_RETURN outputs are provably unspendable and can be safely pruned; data hidden in other output types cannot.
THE "MECHANIC" MOMENT & MINISCRIPT FUND FREEZING
@GrassFedBitcoin, a prominent BIP-110 advocate, was discovered to not understand that the proposal's own rules would ban
OP_IF / OP_NOTIF in tapscripts. Meanwhile, Rob1Ham demonstrated on the BIP PR that the Miniscript compiler uses OP_IF for taproot descriptors unless spending conditions are manually separated — meaning BIP-110 could freeze funds in standard wallet outputs (e.g. Liana). BullishNode further noted that 5 of BIP-110's 7 rules are unrelated to OP_RETURN, undermining the stated motivation.BIP-110 SPEC AMENDED (PR #2115, MARCH 2026)
Rule 3 now exempts P2A (Pay to Anchor) — acknowledging the rules were overbroad and could break CPFP fee bumping. Rule 2 was clarified to limit "script argument witness items" (a narrower, defined term). An EXPIRED terminal state was added to the deployment state machine.
URSF, Prediction Markets & Fake Signaling
SUPERTESTNET & THE URSF CONCEPT
SuperTestnet proposed a User Resisted Soft Fork (URSF) — a mechanism where nodes would actively reject blocks that signal for BIP-110. The idea inverts the UASF concept: instead of users forcing activation, users would resist activation by orphaning signaling blocks.
This is notable because it introduces an explicit counter-mechanism: if enough economic nodes run URSF software, miners who signal for BIP-110 risk having their blocks rejected by a portion of the network. It raises the cost of signaling from zero to potentially losing block rewards.
This is notable because it introduces an explicit counter-mechanism: if enough economic nodes run URSF software, miners who signal for BIP-110 risk having their blocks rejected by a portion of the network. It raises the cost of signaling from zero to potentially losing block rewards.
PREDICTION MARKETS
Predyx prediction market for "Will BIP-110 activate by Sept 1, 2026?" shows odds well below 10%. Markets are pricing BIP-110 activation as extremely unlikely — consistent with zero miner signaling and eroding support.
FAKE SIGNALING?
@GhostofMapl raised concerns about potentially fake BIP-110 signaling nodes — nodes that appear to run Knots but may be artificially inflating the node count to create an appearance of grassroots support. If true, the already-irrelevant ~2% node figure is even more overstated.
PROCESS & GOVERNANCE CONCERNS
gmaxwell alleged the BIP was submitted on behalf of Ocean Mining via a proxy account, that Luke-Jr assigned the BIP number out of process, and that legal representatives associated with Ocean were making coercive contacts with miners. jlopp identified a double-spend attack vector: embed controversial data → trigger chain invalidation → RBF the now-unconfirmed transaction. The PR was locked by jonatack for moderation.
URSF: A PRECEDENT-SETTING IDEA
While the URSF likely won't be needed (BIP-110 appears to be dying on its own), the concept is significant. It establishes a template for the community to actively resist unwanted consensus changes, not just passively refuse to upgrade. In a world where soft forks can be activated by miners alone (as BIP-110 proposes with just 55% threshold), URSF provides the counter-balance.
<10%
Prediction market probability of BIP-110 activation
Predyx market — real money on the line, not Twitter polls
Where Things Stand Now
BREAKING: FIRST BIP-110 SIGNALED BLOCK MINED
After months of zero signaling, the first block signaling for BIP-110 has been mined (source). While symbolically notable, a single block is statistically insignificant — activation requires 1,109 of 2,016 blocks (55%) in a difficulty period. One block = 0.05% of a difficulty period (~0.09% of the threshold).
URSF COORDINATION HAS STARTED
The URSF concept has moved from theory to practice. A Telegram coordination group has been created (join link) to organize users running URSF software that would reject blocks signaling for BIP-110. This raises the cost of signaling from zero to potentially losing block rewards.
BIP-110: ONE BLOCK DOESN'T CHANGE THE MATH
One signaled block after months of zero. Consensus bugs in the only implementation. Spec still being amended (P2A exemption, EXPIRED state). Supporters defecting. URSF coordination starting. Prediction markets pricing activation below 10%. Process concerns from gmaxwell. 5 of 7 rules unrelated to the stated OP_RETURN motivation. The math still doesn't work.
Feb 2026
Perth BitDevs covered BIP-110 basics: 7 rules, deployment timeline, governance theatre of running Knots nodes. Zero blocks signaling at that point.
Mar 2026
Cache poisoning bug found. Supporters defecting. Mempool.space report undermines the "spam" narrative. URSF proposed as counter-mechanism. Prediction markets say <10%. First signaled block mined — but just one.
Sep 2026
Activation deadline at block 965,664. Without 55% miner signaling in any difficulty period before then, BIP-110 expires — a quiet death by timeout.
LESSONS FOR THE ECOSYSTEM
1. Consensus changes are hard for a reason. The cache poisoning bug illustrates why Bitcoin's conservative approach to protocol changes exists. Even well-intentioned proposals can introduce catastrophic bugs.
2. "Running a node" isn't governance. BIP-110 demonstrated the gap between social media activism (running Knots, posting support) and actual protocol governance (miner signaling, economic node enforcement).
3. Data finds a way. The mempool.space report confirmed what technologists argued: restricting OP_RETURN doesn't reduce on-chain data, it just makes it less efficient and harder to prune.
4. Prediction markets are signal. When real money is on the line, the market's assessment of BIP-110's chances was far more accurate than Twitter sentiment.
2. "Running a node" isn't governance. BIP-110 demonstrated the gap between social media activism (running Knots, posting support) and actual protocol governance (miner signaling, economic node enforcement).
3. Data finds a way. The mempool.space report confirmed what technologists argued: restricting OP_RETURN doesn't reduce on-chain data, it just makes it less efficient and harder to prune.
4. Prediction markets are signal. When real money is on the line, the market's assessment of BIP-110's chances was far more accurate than Twitter sentiment.
PREVIOUSLY ON PERTH BITDEVS
For the full BIP-110 background (the 7 rules, deployment mechanism, governance analysis, and arguments against), see the February 2026 BIP-110 presentation.