Without context, Saylor’s “110 Reasons #BIP110 is a bad idea” looks reasonable. Many of the concerns are admitted in the BIP, and if spam was Bitcoin’s only issue then the article might even be persuasive. However, if a credible attack was attempted against Bitcoin, what would it look like? Not a 51% attack. Everyone knows that one.
You’d have to boil the frogs.
Incentives were aligned when Bitcoin began. The devs wrote the code, mined the coins, stored the data on their nodes, and stacked the sats. If a dev wrote a line of code that favored the miners at the expense of the node then he paid the cost.
Now we have specialization, which is fine, but devs might not even own bitcoin or run a node or mine. Each group has their own incentives. Devs are creatives. They want to create. Users want to pay lower fees. Miners want higher fees. The nodes are the impartial referees. They guard neutrality because they are the volunteers that decide the rules.
I don’t care if Saylor gets a million Bitcoin. The Bitcoin I was sold didn’t matter whose stack was the biggest because we could all run a node and we could all contribute hash power, and those checks and balances evened the playing field.
Except that we also have a mining centralization problem. A half dozen large pools control over 90% of hash.
Before Core drove nodes away they had a monopoly on node market share. Worse still, Hodlonaut’s research revealed that gatekeeping was selecting for devs that lacked diversity of thought in favor of diversity of demographics, and Core also drove out devs that refused to engage in groupthink, the disagreeables that an open source project needs and depends on.
So every area of Bitcoin has a centralization problem. One alone might only be an annoyance, but when the centralization of coins, devs, nodes, and miners happens all at once then it frames the spam issue in a riskier light.
This is why viewing spam as a centralizing force for nodes is reasonably called existential.
And why cautious urgency is prudent.
Saylor’s 110 reasons look very different if you assume there are no credible threats to Bitcoin versus if you recognize the signs of the control system trying to coopt the network.
With that in mind, my rebuttal holds the view that Bitcoin is under attack, and that it’s up to nodes to defend against it. And that’s why I think node sovereignty takes priority above all.
1. With a comparatively tiny number of altered lines of code and the credible code reviews, BIP-110 couldn’t be any clearer, more serious, or broadly understood.
2. Bitcoin Core PR #28408 was submitted to patch the Taproot inscriptions hack. The explosion in the ratio of arbitrary data to financial transactions is solid evidence.
3. Contested judgments were already made consensus valid, necessitating that nodes use escalation dominance at the consensus layer.
BIP-110 tests whether bitcoin solves tyranny of the majority.
4. BIP-110 does not claim to read intent. It has filter limits and patches the inscriptions hack, and BIP-110 does not address whether the arbitrary data that would be used in any case would be for an image or otherwise. Devs might be motivated by such things, but the code is impartial because it doesn’t know.
5. Removing filters (Corev30) and adding features (Segwit, Taproot) objectively created collateral risk by increasing bitcoin’s attack surface. The intent behind those changes cannot be known, but we know the unfavorable second order effects that resulted. Now we fix the glitch.
6. It’s not just a social message, and even if that were conceded it’s still just your opinion on what sufficient grounds is.
7. Ah, the fee. Paid by the spammer to the miner, saddling the node with the extra burden for no additional compensation. In “The Law” Bastiat called that Legal Plunder.
8. Payments, Lightning, basic multsig are all protected. And it’s temporary. If the network wants to revert back they can let BIP-110 expire.
9. Bitcoin isn’t permissionless. It’s decentralized permissionless. Whatever you think bitcoin is or whatever attributes that it has, it will help to add “decentralized” at the beginning to remind you that the network, not fiat decree, makes the rules. In the Syndicate, everyone has a share.
10. Wrong, this is the unconstrained vision. Sowell wrote at least 2 books about it. The unconstrained vision thinks rules don’t apply. The constrained vision accepts the reality that the optimal game theory is to cheat if you can get away with it, and adopts guard rails to prevent rent seeking.
I see a lot of convenient code switching. Unconstrained vision to open the door to spam, then swapping over to the constrained vision to prevent solutions.
11. BIP-110 does not claim to distinguish spam from utility. I would argue that all arbitrary data is spam, and that it should be looked upon with suspicion in every case. I accept that it cannot be eradicated completely, and the network has already conceded plenty of space for utility.
12. Payments are monetary. Nodes are not distributed data storage for every well funded, well intentioned developer’s imagination to try to make it better.
13. No changes would have ever been made, good or ill, if knowing unknowns was a prerequisite.
14. Ok, and if the network is not satisfied with the size of the node burden removed then it can let BIP-110 expire.
15. It is not necessary or even preferrable to quantify a benefit. Goodhart’s Law – “When a measure becomes a target, it ceases to be a good measure.”
16. I do not need to specify the size of the rent seeking to justify defense against it. I am justified in resisting all of it.
17. Then fund a grant and task a developer to find those remedies.
18. If a ship’s trajectory is even 1 degree off then it will end up wildly off course. The objective threshold is if Bitcoin does not course correct then it continues to trend toward not being money.
19. It was a useful policy until it was weakened despite contention, by the developers cited in Hodlonaut’s article. Gatekeeping in the recruitment of devs kneecapped bitcoin’s open source tradition. Node defense justifies escalation.
20. You concede the rationale is in the BIP, but demand that it establish an optimal boundary. Suggest a methodology for identifying this optimal boundary. Maybe AI could figure it out.
21. The BIP was constructed with just enough teeth to matter while respecting as much of the legacy code as possible.
22. It’s hard enough to get things done (as it should be) without sending a half dozen soft forks through. Temporary status alleviates concerns.
23. Exactly. This is why we’re here. But no evidence why a temporary move from policy to consensus is inherently bad, especially when the policy has been made less effective.
24. 256 bytes is generous. Old UTXOs are grandfathered. This is an acceptable trade-off.
25. They’d require the time it takes for the BIP to expire to go to market anyway.
26. Similar to 25. One reason the bar for “exceptional justification” has been accepted by some and not by others is acknowledging that Bitcoin is under attack, and that spam is a credible attack surface. If you don’t believe that, supported by Hodlnaut’s Capture article, then the bar is set unreasonably high because you still trust.
27. “can constrain complex script trees.” I’m not willing to bloat my node for rare, and advanced edge cases.
28. No legitimate use case today.
29. Commonly abused to hide data that never executes.
30. “There are no solutions. There are only trade-offs.” Thomas Sowell
Compared to much larger soft forks, BIP-110 is extremely precise.
31. Anti BIP110ers are already dunking about using steganography to exploit what BIP110 doesn’t prevent. Closing as many loopholes while preserving as much current use is important. Future design space is a rational trade-off
32. “needs that had not yet emerged.” The only thing I’m interested in is bitcoin’s properties aligning with it emerging as money, not the wild imaginations of the visions of the anointed (another Sowell reference, won’t be the last).
33. Regular upgrades already disincentivize building on bitcoin. Jimmy Song, fence sitter that he is, made this solid point in one of the many podcasts he participated in. I suspect we three agree that a certain amount of ossification is preferable so that devs can build confidently on layer 2 without fear of the code changing before they can even release.
I simply cannot, as a former IT professional myself, endorse ossifying without fixing the glitch first (Office Space and Sowell reference in the same post? Few).
34. We agree the BIP expressly admits this. Though I think the BIP doesn’t break recent versions of BITVM which is itself not even a finished product even if it did “complicate” it.
“Limiting Taproot control blocks to 257 bytes directly constrains the size of the on-chain, consensus-enforced script tree. This could complicate or possibly even impede advanced smart contracting like BitVM, which relies on a large number of executable scripts. Now this is the story all about how, My life got flipped-turned upside down, And I'd like to take a minute, just sit right there, I'll tell you how I became the prince of a town called Bel Air. In the worst case scenario, these use cases may just need to wait until this softfork expires. As they are still in early development, testnet and sidechains should be sufficient for the next year while a more scalable rule is implemented.”
35. This applies to advanced users that are perfectly capable of making the necessary adjustments. Not an unreasonable imposition.
36. Modify them then.
37. “Rare.” Affects advanced users capable of updating and/or migrating.
38. Don’t do it during the deployment. Known workflows can be avoided.
39. You were never promised costless. Proof of Work works because it costs more to attack than the scammer is willing to spend.
40. Unknown unknowns are worth consideration, but not more than the known knowns causing harm.
41. Nothing to disagree with really since this is literally true, but if policy is attacked until it no longer serves its policy function then trade-offs are worth it to protect nodes from bloat.
42. "But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist." Spooner
Core intentionally created the spam problem or was powerless to prevent it. Grandfathering is a reasonable accommodation to clean up the mess they left behind.
43. No objection to this. Encountered it myself in upgrades projects. Of course if this were the only consideration then we’d just ossify completely and die anyway.
44. Actors have time to plan for this.
45. And time for this.
46. I’m not sure I would ever support a soft fork again that isn’t temporary considering the segwit discount and taproot inscriptions hack laid the groundwork for the OP_RETURN blowback. Every upgrade I ever participated in had rollback instructions in case of failure.
47. Spammers like to remind folks that they paid fees for consensus valid transactions. Nothing about bitcoin prevents a soft fork from this kind of activation. I should not enjoy this irony as much as I do, probably.
48. Valid. I still prefer miners to flip the bit and lock in early, signifying the cleanest activation so I like that it’s available. In the future, however, offering this to the miners just kind of makes it seem like they’re in charge when they’re not.
49. I sure as hell hope so. A permanent artifact of spammer PTSD from when they got rugged.
50. OP_RETURN increased bitcoin’s attack surface at the policy level. It’s not obvious why defending bitcoin at consensus level increases risk more than allowing or expanding policy vulnerabilities.
51. All nodes are burdened, but some nodes are burdened more than others. This is an admission that spam IS an issue, but you can avoid it if you give up the sovereignty of a full node.
Once 8 billion people use Bitcoin, and there are 80 million pruned nodes and 800k server farms running full nodes then maybe we can relax our guard because it’s too late to coopt it, but until then since full nodes are the enforcers of neutrality, it follows that neutrality is maintained by the number of people running full nodes.
52. Nodes already permit the miners to collect block rewards for securing financial transactions. This is well understood and accepted, but when miners accept bribes to include spam this creates a market distortion which prevents true transaction fee price discovery. Transactors competing with transactors has clear free market implications.
Gold’s non monetary use cases make it less suitable as money, and is one of the reasons why bitcoin is superior to it, and why bitcoin will eat it. Supply and demand for physical products allows for price manipulation which affects users paying with it or storing it for value.
It’s a terrible idea to recreate the properties that cause other moneys to fail, and program them into bitcoin.
53. BIP-110 does not care about your transaction’s purpose. You can still use it permissionlessly to buy and sell whatever you like. The protocol still has no idea what you’re buying or selling.
We know that financial transactions require precious little data, inputs, outputs, ownership, transfer. The rest has inconsequential purpose to that end.
54. Scammers gonna scam.
“When, then, does plunder stop? It stops when it becomes more painful and more dangerous than labor.” Bastiat, The Law
Nobody said freedom money would be easy. We’re gonna need some hard men to get through the fourth turning.
55. This is saying we should accommodate abusers because we can’t stop all of the determined ones. And it presumes a static amount of demand for abusive spam that will route around defenses, and does not account for potentially infinitely increasing spam welcomed by loosening rules.
56. And it may not. We know exactly what’s happening based on opening up space for spammers. More spam.
57. Again, from The Law, by Bastiat:
“Legal plunder has two roots: One of them, as I have said before, is in human greed; the other is in false philanthropy.”
Framing theft from artificially inflated fee competition of financial transactions and the legal plunder of nodes storing the data without additional compensation as beneficial to miners is false philanthropy. We’re operating a welfare network now?
Miners already get paid to do the job of securing the financial network. If you take bribes to line your pockets at node expense (their employers), that’s not charity, and you get fired for that.
58. “all else equal” A network that legitimizes legal plunder, rent seeking, and moral hazard isn’t all else equal. The less monetary properties a money has will decrease its value, making miners less interested in mining for it, and for users to use it.
Don’t like the pay? Don’t take the job. We’ll adjust the difficulty accordingly.
59. Non monetary use clouds free market pricing. This is why socialists can’t figure out how much anything costs. It’s not because they’re lazy that socialism always fails. It’s that they can’t solve the economic calculation problem. If I send a bitcoin and you send a bitcoin then the price is determined by the competition between the two. If non monetary use cases are included for the sake of diversity (we doing DEI fee markets now?) we introduce barriers to true price discovery.
60. False philanthropy again.
61. A person can use a calorie counting app to limit daily calories and lose or maintain weight. If they eat only chips and soda they will still get metabolic disease and die.
The quality of the block is directly proportional to the health of the network. Miners already use any number of selection criteria to include transactions. They don’t just use a first come first served approach, a “neutral” approach.
62. Fees are the filter in a free market, not in a market where subsidies are introduced (segwit discount), and where rent seeking is allowed. The bid for rent seeking is infinite, and you’re asking users to pay the ransom. Why shouldn’t the spammers holding block space ransom just keep raising the ransom forever?
And you’re asking users to outbid spammers to protect, not themselves, but the nodes. And you’re asking nodes to store the arbitrary data of the spammers that the users are supposed to outbid in the fees are the filters argument.
The fees are the filters arguments don’t work with misaligned incentives.
63. That’s why the node is asking. This is an issue of property rights. Owners of property have the right to use their property and also the right to exclude its use from others. Free people also have the right to freedom of association. If nodes decide to protect their private property from rent seeking by seeking out a protocol that remedies their complaint then that is valid right of exclusion from non monetary use.
You can take the most charitable interpretation of Hodlonaut’s research, and attribute Core’s changes as incompetence instead of malice, but the direction was decidedly in the direction of not conserving bitcoin’s monetary properties.
64. Right, and Core castrated policy tools with Core v30 against fierce opposition. Miners get fired for plundering nodes, and so do developers.
65. If miners won’t protect nodes voluntarily then they will be voluntold.
66. Presumes that thousands of nodes and expert developers can’t or haven’t performed analysis to their satisfaction. Nobody leapt to anything. We begged Core not to deploy v30. BIP-110 is a measured response. Some say it doesn’t go far enough so there will be criticism even if it was more or less restrictive.
67. “Good” Jocko Willink
Spammers will remember.
68. We’re past that study phase. Feel free to commission the study. You missed your chance to influence the content of the upcoming activation.
69. Submit your softfork with what you come up with.
70. And softforks are bitcoin’s superpower. Your 11th hour objection does not by itself prove that consensus shouldn’t be used.
71. Counting on it. Shitcoin devs should feel really, really chilly. Downright frosty. I heard the weather at ETH is good this time of year.
72. I only care about one use case. A sound ledger. If layer 2 devs understand that they can’t lobby for special edge cases then they will find ways to build without them. Or not.
73. They aren’t even using all of the tools from Taproot. I’m not sacrificing resisitng current harm for some future bell and whistle that may get hyped and underutilized.
74. If the network determines that transaction structures are harmful then they won’t remain available.
75. The script design space can design around my node’s preference. Money.
76. Maybe they should have petitioned Core not to provoke an immune response that would delay their project. Now they wait.
77. Node sovereignty is the gold standard of security and neutrality. If you don’t believe me or don’t get it, I don’t have time to try to convince you, sorry.
78. We can talk ossification efforts after we “fix the glitch.” Or do you roll out buggy software, and work on the next upgrade with unpatched bugs?
79. Bitcoin emerged as money because of its superior monetary properties, not its superior non monetary use case properties. There’s no arbitrary data chapter in your What is Money series because the properties of money make money stronger.
80. They can do all that with the old 40 byte limit so the 83 byte concession is already too generous.
81. This might have been reasonable if bitcoin wasn’t only suffering from spam. It’s also got a mining centralization problem. A 95 percent miner-readiness with 6 miners controlling 90% of the hash would allow single entities to hold miner readiness hostage.
Also, softforks do not require options for miner signaling at all. This is actually a concession in favor of BIP-110. If anything, it sends the incorrect message that miners control bitcoin. They don’t.
They have been offered an opportunity to lock in a smoother change early, but the UASF doesn’t need them to.
82. Clearly. The permanent damage from previous upgrades has brought us to this pivotal moment. At least this change recognizes the seriousness of consensus changes with the humility to let it expire if the network wishes.
83. As described at the top, incentives are no longer aligned between all participants. The nodes are the neutral arbiter between these factions. If you’re concerned about neutrality then you will side with the node.
84. Working as intended. Participation in block rewards is granted to the miners by the nodes.
85. Due to mining centralization, this would put way too much power into the hands of a few or even a single miner. Nothing stops this train.
86. Failed state addressed already.
87. It’s not supposed to. Miners don’t dictate consensus to nodes.
88. Feature not a bug. The protocol of liberty must be refreshed from time to time with the blood of plebs and parasites.
89. If one believes a threat is existential then it’s only a matter of bracing for whatever effort is required to avoid it. Conflict avoidance feels comfortable, but it doesn’t solve problems.
90. Nodes are Bitcoin’s immune system. If nodes have already decided a threat is existential then you’re not scaring anyone with “a more serious risk” than death. Extra dead is still dead.
91. Good. We are learning sooner than later what Bitcoin is. Bewilderment intensifying.
92. I hope so. Democracy has long suffered from tyranny of the majority. Finally, the free market has delivered a solution for the intolerant minority to defend itself from an attacker with greater numbers.
93. Now you’re getting it. This is a decentralized open source project. The system is trustless, except for trusting that each actor acts in their own best self interest, and that everyone, and no one, determines what Bitcoin is.
94. That’s what Bitcoin is, decentralized judgement.
95. Governance risks increase with centralization. BIP-110 preserves node decentralization.
96. Nodes can decide for themselves what is exceptional.
97. If nodes can’t fend off minor attacks, how will they muster the courage to coordinate against “more serious threats?”
98. I’m tired and this sounds like social justice warrior bullshizzle. Run a node, plug in a miner if you want to be heard.
99. The mechanics of a successful activation don’t care. Nodes set the rules. Miners build on the longest valid chain. “Thought that you were safe but nobody ever was.” K. Flay
100. You were invited to play long ago, and I had selfish hopes that bitcoin treasury companies would be the heroes of the spam war, unlike the bad rap suits got in the block size war. Corporate participation is legitimate when they demonstrate the ability to resist fiat subordination in favor of nodes.
101. Yup, and nodes can propose consensus changes if it’s in their self interest. And if data storage gets past all of those filters, nodes still have to store it.
102. Core has had a monopoly on the code long enough to show signs of an empire in decline. Arrogance, decline in openness, corruption. Competing implementations are coming. Hopefully, loss of market share will remind Core who they work for.
103. You’re too late. Negotiations have been over for a while now, and this just seems like a delay tactic than a serious claim.
104. Submit it. And this isn’t a broad package. It’s like 37 new lines of code. Trivial compared to Segwit.
105. We can do a lot of things. You maintained radio silence until it’s too late. It’s a good BIP. Arguably the best BIP in Bitcoin history because it doesn’t promise to add functionality with unknown second order effects, but instead does the thankless job of patching hacks and punishing parasites.
106. Not interested in studying the rate of moral hazard. Only in making perpetrators uncomfortable.
107. Coulda woulda shoulda. A difficulty epoch late and a Satoshi short.
108. Thousands of nodes find the evidence compelling. Calls for restraint and 110 reasons not to implement Core v30 were in order last year.
It’s almost like you want to delay a fix for node centralization to play for enough time for devs, miners, and coins to all be centralized and it’ll be too late.
109. Bitcoin is money for enemies so we won't be singing kumbaya all the time. Allies understand this, even if they don’t have to like it. I’m all for amnesty when this is done. I’m calling it spamnesty. Optimal game theory says once defection stops, then you resume cooperation for cooperation.
110. At least we’re admitting the spam condition is real, finally. Or could it be that spam is the iatrogenic side effect whose source needs to be addressed to prevent the condition from worsening?
Nodes are the guardians of neutrality.
Nodes fork to enforce neutrality.