Why would node runners and other Bitcoin users oppose this? Genuine question #asknostr #bip110 #spam
Tauri's avatar Tauri
What #BIP110 does is pretty minimal actually. 1. It limits new ScriptPubKeys to 34 bytes; 2. It limits OP_RETURN outputs to 83 bytes; 3. It limits data pushes and witness elements (contiguous data) to 256 bytes; 4. It removes OP_IF inside Tapscript; 5. It disables the Taproot annex and undefined witness versions / OP_SUCCESS; 6. It limits Taproot control block size (~257 bytes); This only applies to newly created UTXOs. And the following are my 80 IQ interpretations of each of those changes: 1. It restricts how complex a new payment address can be so people can’t sneak large chunks of arbitrary data into normal Bitcoin payments. 2. It caps how much extra data can be attached to a transaction so Bitcoin blocks don’t turn into general-purpose message boards / free cloud storage. 3. It prevents hiding large files inside transaction data by limiting how big any single chunk of stored data can be. 4. It removes a scripting trick that lets people hide data like inscriptions inside conditional branches that aren’t meant to be used for payments. 5. It closes lesser-known backdoors in Taproot that can carry arbitrary data while pretending to be normal transaction components. 6. It limits how large Taproot script trees can grow so they can’t be abused to store massive hidden data structures. This soft fork is intended to be TEMPORARY. It means that after a one-year period the new rules automatically expire if they aren’t explicitly extended. The main reasons are: 1. A permanent soft fork consensus change can otherwise only realistically be reversed with a hard fork. 2. It acts as a pressure valve while longer-term policy and consensus rules are debated. 3. The one-year window serves as a trial period to verify no critical bugs exist, no unintended consequences appear, and no new methods for stuffing arbitrary data into scripts are discovered.
View quoted note →

Replies (25)

BIP 110 contains literally nothing that a "monetary maxi" (whatever that is) would want to see in a Bitcoin Improvement Proposal. Nothing to help Layer 2s to scale. Nothing to help the relay network with DOS attacks. Nothing to help privacy. Nothing to help small mining pools to see the same transactions that the big pools are getting. Nothing to help with the faster block propagation that will benefit the small pools. Nothing like Cluster Mempool, which will help small pools to play on a level playing field with the big pools. The long term future of Bitcoin depends on anonymous miners being able to connect to the network, see all the transactions that are likely to be mined, quickly see the other blocks so they can mine on top of them, and be able to broadcast their blocks and have them propagate quickly and be built upon by the other miners. This is needed to ensure the small miners and small pools can mine profitably, i.e. they have an incentive to mine things that the government-controlled big pools are unwilling to mine. They must be able to include any consensus-valid transaction; i.e. have no corporation or committee or government which blocks the 'naughty' transactions BIP 110 contributes nothing to any of this. It doesn't even try to do so If you want less spam in the blocks, maybe them smaller. Luke Dashjr has suggested 300kB. Why not go further? 100kB, 10kB. 0kB would get rid of all the spam. That might seem like a stupid point in the last paragraph. But I'm actually making a very important point. Our goal is to make Bitcoin the best money, to maximize its ability to instantly settle our private transactions at a very high frequency. If you "fight spam" and you don't care that you are harming the moneyness of bitcoin, then I can't talk to you. "Fighting spam" simply isn't a valid goal in itself; it best, it's a means to an end. Every proposal that somebody makes to fight spam will be judged exclusively on how to helps or hinders our real goals We want and need our Layer 2s (Lightning, Ark, Lightning on Ark's Channel Factories) to massively scale, along with other Bitcoin scaling ideas like Cashu, in order that billions of people can make dozens of payments each day. (I'm working on extremely-high-frequency micropayments within Cashu) We want as much as possible to stay off-chain in order to keep fees on blockchain as low as possible. Low fees today gives us room to onboard billions of people. Low fees help with security of the Layer 2s, as users of Lightning need the ability to quickly and cheaply access Layer 1 if their channel partner is cheating We will continue to work on all the above, making the fees on L1 as low as possible This means that blockspace will, if we succeed, stay cheap for a long time. Also, there is a basic fact: Basic Fact: Steganography exists If blockspace is cheap, then spammers will fill it with spam. This is a meaningless and fully-expected side effect. There are lots of ways to encode spam in the blockchain. Some methods involve contiguous bytes and some do not. Nobody really cares about the distinction. Pseudo-lawyers will try to pretend that contiguous bytes are more dangerous than non-contiguous But they are wrong legally, wrong technically, and wrong in every possible way about "contiguousness". The "contiguous" discussion is now over Remember Mike Hearn and his "RBF derangement syndrome"? Remember MempoolRBF? If big pools are getting consensus-valid transactions via out-of-band systems (e.g. Mara's Slipstream) and are including them in blocks, then this is an advantage to big pools and a disadvantage to small pools We know that a critical responsibility of the public relay network is the help the small pools so they can earn money at the same rate as the big pools. This is what decentralized mining is all about Therefore, there will always be people who will help to relay those kids of transactions, in order to help the small pools. They'll mine fee-bumping transactions where the original transaction didn't signal willingness to be fee-bumped. They'll mine under 1-sat-per-vByte. They'll mine large OP_RETURNs if the big pools are benefiting from them When a spammer posts a large OP_RETURN via an out-of-band system, we don't care about the fact that a spammer posted the transaction. It could be a heroic freedom fighter getting important information - or important payments - onto the chain. Spammer-vs-monetary is not the issue. BigPool-versus-SmallPool is the issue As every Bitcoiner has learned in recent years, it's sufficient for a few dozen people to switch on relaxed nodes (LibreRelay, Core with lower fees rates, ...) and they will win. Moving policy close to consensus is easy to do, simply by firing up a few nodes. Trying to do the opposite, firing up thousands of filtering nodes, is laughably stupid There will always be many people willing to help the small pools by relaxing their policy in cases where the big miners are getting this advantage. If you don't like it, you must engage your brain to think of a good response. If your opponents can trivially beat you by switching on a few dozens nodes, then you need to accept their existence as a fact in your game theory The Knots movement pretends to be for decentralization of mining. If that was true, they would encourage (in the right circumstances) things like LibreRelay. It's truly bizarre that they took literally the opposite approach, and are trying to make it difficult for small pools and small miners. Why do people run nodes? There are broadly two categories of reasons. Obviously, we run them for our own ability to make transactions and to monitor that our transactions go through correctly. But there are also less "selfish" motivations. I run my node in order to help small pools. We need to keep the miners divided, working for us, and that means allowing small miners to mine whatever consensus-valid transactions they want, and it means ensuring it's economically viable for them to do so. That is the main role of the relay network, and a few dozen 'non-filtering' nodes are sufficient; and this is why Bitcoin will win. Finally, BIP110 explicitly attacks many important things for the moneyness of Bitcoin. Attacking the OP_SUCCESS opcodes is particularly dumb. No sane person thinks that Bitcoin won't be having dozens of OP_SUCCESS opcodes for centuries to come. Just get over it There's a lot more that I can say on this. Clearly, the orchestrators of BIP 110 relish in all the sexist and abusive rhetoric that is spread by their retarded bots and lapped up by some plebs. But I'm too lazy to write about that Basically, my first paragraph above sums it up nicely #bip110 #AskNostr #Spam
Reading your reply it seems that the only direct reason for opposing BIP-110 is related to OP_SUCCESS? Care to elaborate on this point? Thanks! I'm with you when it comes to the difference between what large and small miners can hope to mine, but does not it arise entirely out of the fact that consensus and policy are different? Would not having BIP-110 close that gap remove this source of out of band revenue currently being enjoyed only by large miners? To clarify the intent behind the initial post, maybe my original question should have been framed as follows: if Bitcoin were to come into existence today with the rules of BIP-110, would anyone oppose it in favor of a version closer to its current state?
You originally asked a question, and I provided an answer Now you're trying to turn it into a debate, and you are not making good points. I'm moving on from this thread
Well I'm sorry, the points you've mentioned aren't particularly convincing, hence my reply. No hard feelings on my part though. My question regarding OP_SUCCESS didn't seem wanting to turn things into a debate either.
Here is an opinion from Bitcoin contributer who I think was not a Knots supporter but was able to objectively assess the code. For comparison and another point of view.
BitcoinIsFuture's avatar BitcoinIsFuture
Running BIP110 on Bitcoin Knots because Bitcoin is Freedom Money 🤙 image https://github.com/bitcoin/bips/pull/2017#pullrequestreview-3384767316 "I'm generally supportive of the changes in this BIP. Aside from minor nitpicks in language, the 34 byte scriptPubKey restriction I think will prove to be quite valuable in addressing the larger concern of DoS blocks / poison blocks that impose such high computational costs on nodes that a single block would take 30 minutes to verify on decent hardware instead of taking about a second. This is an even larger threat to Bitcoin than either CSAM or quantum, because I've read that CSAM has already been present on Bitcoin for a very long time, and quantum computers aren't anywhere near good enough to be a threat, and may never be, whereas DoS blocks could be introduced by miners who take direct submissions without sufficient checks at any time. It's been pointed out that disabling OP_SUCCESS in Tapscript would conflict with adding new signature verification opcodes in future BIPs that might use them to add quantum resistance, but I would point out that the semantics around existing opcodes could simply be altered to preserve compatibility with BIP 110. For example, instead of creating new sets of OP_CHECKSIG opcodes to support new signature schemes, the semantics of existing OP_CHECKSIG opcode could simply be adjusted to accept imperatively inputs of varying lengths, a form of overloading / polymorphism / or duck typing. While it could be argued that a more declarative approach is superior in cryptographic contexts, I don't weight that concern as heavily as the larger concern over DoS blocks, and as such, I'm supportive of this approach. My only major objection is that this is temporary. I'm not very comfortable with either temporary soft forks or default node expiry because it forces users to act instead of delaying action, which I think delaying action is perfectly fine and reasonable as the protocol matures. It also reminds me too much of the "difficulty bomb" based monetary policy used to coerce Ethereum miners to adopt new code from the Ethereum foundation or else. That said, if BIP 110 were activated as is, I would still be supportive, and I would also support reactivating it in the future as a more permanent feature of Bitcoin. At a high level, this proposal reminds me in spirit of early versions of my original P2QRH proposal. I just think it could use a little more polish, but I see it as being directionally correct."
View quoted note →
Also the point of the false information individual above that > "The long term future of Bitcoin depends on anonymous miners" I am an anonymous miner and what enabled me to be is Bitcoin Knots + DATUM from Ocean + BitAxe
This is a good and coherent response. BIP110 may be limiting to potential Layer 2 and Layer 3 applications of the Bitcoin Network. Censorship of transactions is a slippery slope and pretty anti Bitcoin tbh.
I don't feel like it is tbh. BIP 110 "makes no sense" because: 1. Technically Ineffective: Network dynamics ensure that a "tolerant minority" of nodes or direct miner submission can bypass any relay-level filter. 2. Philosophically Misaligned: It prioritizes "spam prevention" over the core goals of decentralization, censorship resistance, and enabling Bitcoin as global money. 3. Harmful to Decentralization: By filtering, it disadvantages small miners who rely on the public network, potentially making mining more centralized. 4. Based on a Flawed Premise: It treats the symptom (data in blocks) instead of acknowledging that cheap blockspace is a desirable condition for scaling, and data encoding within it is unavoidable.
All points are misinformation from Coretards. 1. BIP110 restricts OP_RETURN on consensus level, meaning no miner can bypass is via direct submission. Mempool filters could be bypassed by miners. 2. BIP110 helps decentralization, censorship resistance and Bitcoin as Freedom Money by reducing spam waste, reducing bandiwth and allowing more space for monetary transactions that transfer value. 3. Nonsense. Miner decentralization is solved with DATUM which Luke and Ocean developed. 3. Bitcoin blockspace is meant for monetary transactions that transfer value. Bitcoin is not a memecoin or arbitraty database. Cheap blockspace is found on BSV and other shitcoins. image
BitcoinIsFuture's avatar BitcoinIsFuture
Running BIP110 on Bitcoin Knots because Bitcoin is Freedom Money 🤙 image https://github.com/bitcoin/bips/pull/2017#pullrequestreview-3384767316 "I'm generally supportive of the changes in this BIP. Aside from minor nitpicks in language, the 34 byte scriptPubKey restriction I think will prove to be quite valuable in addressing the larger concern of DoS blocks / poison blocks that impose such high computational costs on nodes that a single block would take 30 minutes to verify on decent hardware instead of taking about a second. This is an even larger threat to Bitcoin than either CSAM or quantum, because I've read that CSAM has already been present on Bitcoin for a very long time, and quantum computers aren't anywhere near good enough to be a threat, and may never be, whereas DoS blocks could be introduced by miners who take direct submissions without sufficient checks at any time. It's been pointed out that disabling OP_SUCCESS in Tapscript would conflict with adding new signature verification opcodes in future BIPs that might use them to add quantum resistance, but I would point out that the semantics around existing opcodes could simply be altered to preserve compatibility with BIP 110. For example, instead of creating new sets of OP_CHECKSIG opcodes to support new signature schemes, the semantics of existing OP_CHECKSIG opcode could simply be adjusted to accept imperatively inputs of varying lengths, a form of overloading / polymorphism / or duck typing. While it could be argued that a more declarative approach is superior in cryptographic contexts, I don't weight that concern as heavily as the larger concern over DoS blocks, and as such, I'm supportive of this approach. My only major objection is that this is temporary. I'm not very comfortable with either temporary soft forks or default node expiry because it forces users to act instead of delaying action, which I think delaying action is perfectly fine and reasonable as the protocol matures. It also reminds me too much of the "difficulty bomb" based monetary policy used to coerce Ethereum miners to adopt new code from the Ethereum foundation or else. That said, if BIP 110 were activated as is, I would still be supportive, and I would also support reactivating it in the future as a more permanent feature of Bitcoin. At a high level, this proposal reminds me in spirit of early versions of my original P2QRH proposal. I just think it could use a little more polish, but I see it as being directionally correct."
View quoted note →
It shows in this case how Tone is spreading misinformation. The video shows it. It also clears the misinformation about CW and RV.
I’d assume he just read what Greg Maxwell posted on the mailing list and went with a gut feeling.
fade2's avatar
fade2 3 days ago
Thanks for this. While I still need to wrap my head around it all... If a large minority wants to trial something and the trial is not going to fork the network, isn't it logical to attempt the trial?
This is pure sophistry. BIP110 is bad because it doesn't solve layer 2 scaling, mining decentralization or prevent all possible spam? As to limiting op codes and innovation in general, that is also non sequitur. If someone has a specific proposal they can (and should have to) propose a bip. Framing openendedness as moneyness is nonsense. All I could really take out of this that was not a lot of empty rhetoric was that in your opinion preventing spam is not a valid part of network maintenance and that you believe being a shitcoin playground is a basic property of money. You are entitled to your opinion, but I respectfully disagree. Reducing spam and abuse is always a valid maintenance objective (and saying otherwise is a pretty bizarre take). Bitcoin is money. The base layer should be as simple, consistent, reliable and hard as we can make it. Building higher layers is better served by conservativism and ossification of the base. No one wants to build on sand. That's true in terms of software architecture AND economic architecture. @jimmysong covered this well on @walker's podcast the other day. Bitcoin is money, not a playground for developers and entrepreneurs. I'm sorry but I don't read anything here but a lot of logically fallacious rhetoric and the basic philosophy of shitcoin underneath. The more of these arguments of this kind I see against 110, the more I support it. If these are the best arguments that can be made against it, it must be pretty solid indeed. At this point, I just don't see the point of making it temporary.
Appreciate you being a listener of the pod 🙏 I enjoyed the heck out of the convo with @npub10vlh...sp42 . Basically he does *not* think BIP 110 (or the urgency around it) is necessary, but he also thinks it’s better to have some fork drama now versus a few years from now. That way we can better understand the mechanics of how a USAF would actually work if nodes starting actively rejecting blocks, instead of just threatening to do so. I also appreciate Jimmy’s position that fees ultimately price out spam. I’ve always found Jimmy to be a very reasonable person and first-principles thinker. Plus he’s more respectful in his discourse than 99% of us in this space (myself included). I also really enjoyed the SOV/MOE part of our conversation.
I honestly don't think your points are a faithful representation of reality: 1. Bypassing relay filters can be currently done, but BIP110 would remove this possibility since it would define more restrictive consensus rules 2. It prioritizes data embedding reduction, not necessarily spam prevention since blocking spam entirely is basically impossible. The approach of the BIP is that of removing most or all "features" which are currently unused (taproot annex anyone?) so that easy data embedding options are not available anymore. How is this hurting monetary properties? 3. See point 1: BIP110 is about consensus rules, not relay policy. 4. Not sure what to make of this point.