
BIP-110 Was Designed To Fork Off From The Beginning
While not mentioned in the BIP proposal, BIP-110 nodes' networking code heavily prefers to connect to BIP-110 nodes exclusively:
// BIP-110: Allow up to 2 non-BIP110 outbound peers.
if (pfrom.ExpectServicesFromConn() && !(nServices & NODE_REDUCED_DATA)) {
if (m_num_non_bip110_outbound >= 2) {
LogDebug(BCLog::NET, "peer lacks NODE_REDUCED_DATA and already have 2 non-BIP110 outbound peers, %s\n",
pfrom.DisconnectMsg(fLogIPs));
pfrom.fDisconnect = true;
return;
}
++m_num_non_bip110_outbound;
pfrom.m_is_non_bip110_outbound = true;
LogDebug(BCLog::NET, "connected to non-BIP110 outbound peer (%d/2), %s\n",
m_num_non_bip110_outbound.load(), pfrom.ConnectionTypeAsString());
}
....
// Count the number of BIP110 full-relay peers we have (excludes non-BIP110 peers).
int GetBIP110FullOutboundConnCount() const;
....
// Non-BIP110 outbound peers are "additional" - don't count toward limits
if (pnode->IsFullOutboundConn() && !pnode->m_is_non_bip110_outbound) nOutboundFullRelay++;
BIP-110 nodes aggressively attempt to connect to 8 outbound BIP-110 nodes using normal Core rules, and only connect to 0-2 non-BIP-110 nodes as an optional "sidecar".
The net result is that BIP-110 nodes barely participate in the wider network; from the beginning they formed their own network that is sparsely connected to Core nodes.
The original networking code was even more aggressive; the outbound sidecar was added only after BIP-110 nodes were having trouble being connected at all, and inbound connections could not sustain them.
There's only one reason to do this: if you assume you're going to be the minority in a partition. This helps defend against eclipse attacks and stranded nodes in the event that a split/partition happens, and you are on the losing side.
This is actively harmful if you expect to be the winner though: partitioning off your nodes into a big ball doesn't do anything to pressure Core if you have majority support. And it's pointless before flag day.
The BIP-110 networking code gives away the author's true beliefs: BIP-110 would fail to attain a majority in hash or nodes, and would fork off.