|
darkv0rt3x (OP)
|
 |
December 10, 2025, 05:42:45 PM |
|
I jut started reading about this BIP and would like to see some discussion about it. Plenty of discussion already existis, but now, on a specific matter, a BIP https://x.com/ostrom72158/status/1997537240701112497https://github.com/ostromcode/The-CatI am for it. Rationale: Rationale This BIP makes minimal changes to the consensus surface. It adds no new opcodes and does not expand Bitcoin’s scripting language or programmability. Instead, it introduces a single new consensus concept: a binary classification that marks some existing UTXOs as permanently unspendable Non-Monetary UTXOs (NMUs). In that sense, it is closer to a one-time reclassification of a subset of UTXOs than an ongoing change to Bitcoin’s programming model. External indexers, determinism, and reproducibility Instead of re-implementing complex inscription and stamp classification rules in Bitcoin clients, this BIP relies on mature tools that are already used by the non-monetary data community, specifically Ord and Stamps. Exact versions of these indexers are specified and pinned by commit so that their behavior is deterministic. The NMU set is defined in terms of chain data as seen through these specified indexers, rather than as an arbitrary hard-coded list of UTXOs. This keeps the consensus rule grounded in chain-derived information while avoiding the need to embed inscription logic directly in Bitcoin client software.
|
Bitcoin is energy. Bitcoin is freedom I rather die on my feet than living on my knees!
|
|
|
|
stwenhao
|
 |
December 11, 2025, 07:39:56 AM |
|
The-Cat It is a bad name, because it can be easily confused with existing OP_CAT proposal: https://github.com/bitcoin/bips/blob/master/bip-0347.mediawikiI am for it. I am not, because if you start excluding UTXOs, then it will create a precedent to exclude more and more in the future, which will finally burn all coins in existence, or centralize everything in the hands of filter creators. Because if you make any rule, which will exclude specific keys, for example "all private keys below 2^32 are weak, and should be unspendable", then you will keep excluding more and more things, while harming regular users. At the same time, if your code will be Open Source, then spammers will know exactly, what is filtered, and what is not. Which means, that they will still use some patterns, but just sacrifice one or two bits of entropy, to bypass your filters. Also, if you try to invalidate any UTXOs on consensus level, then it will create more spam, because people will call it "censorship", and upload a lot of data on-chain, just to prove, that your filters are not effective enough. So, to sum up, you can try ideas like that in signet, or other centralized networks. But if you try it on mainnet, then you will end up on an altcoin. People will just make transactions, which will be invalid under your consensus, but valid on old BTC version, and they will immediately split coins, and sell them, just like they did with BCH.
|
|
|
|
pooya87
Legendary
Offline
Activity: 4102
Merit: 12272
|
I both like it and don't like it at the same time  I like it because at the very least this is an attempt to address a very serious issue that some of us saw and warned about 2.5 years ago ( The severity of the Ordinals Attack is increasing), so at least this is doing something most others didn't bother thinking about! But at the same time I don't consider these things as actual solutions because they are still not addressing the root of the problem which is the exploit in SegWit which has enabled injecting arbitrary data into the chain with a discount and at any arbitrary size (Stamps can already be mostly prevented with OP_RETURN incentive). This makes the name of this proposal perfect while also telling us why it won't work. When you don't fix the root cause, it does turn into a game of cat and mouse. When the flaw that allows Ordinals attack to take place continues to exist, the attack will continue to take place whether we mark the outputs unspendable or not. Not to mention they can make changes to avoid that as well, which means we'll have to fork again to extend the list to include more conditions which could then have unintended side effects like accidentally including valid outputs in it as well...
|
|
|
|
BlackHatCoiner
Legendary
Offline
Activity: 1960
Merit: 9466
Bitcoin is ontological repair
|
Absolutely against it.
You do not touch the UTXO set. When I say that bitcoin is censorship resistant, I understand exactly that. I don't care if you don't like Ordinals. I don't care if you think dust outputs are spam. Bitcoin is fuck you money, and it is exactly where the "fuck you" property lies in. Information wants to be free and any attempt to restrict it will lead to unintended consequences.
Don't play with fire.
|
|
|
|
ABCbits
Legendary
Offline
Activity: 3542
Merit: 9833
|
 |
December 12, 2025, 07:43:57 AM Last edit: December 13, 2025, 11:00:58 AM by ABCbits |
|
NMU value threshold:
A consensus constant VALUE_MAX_NMU = 1000 satoshis. Only UTXOs with value strictly less than VALUE_MAX_NMU are eligible to be classified as NMU. UTXOs with value greater than or equal to VALUE_MAX_NMU MUST be treated as monetary (NMU = 0) for all time under this BIP, even if external tools associate inscriptions or stamps with some of their satoshis.
I doubt it'll work as expected, considering 1. There are some TX (that aim to add arbitrary data or create token/NFT) willing to pay very high TX fee rate. 2. There are some ordinal TX which create new UTXO with amount 1000 satoshi or higher. For example, https://ordiscan.com/inscription/5476 create new UTXO with 10000 satoshi. Edit: this part of BIP is also relevant with my above reply. Won’t spammers just make workarounds and spam anyway?
The Cat targets the financial incentive to create spam. It is almost impossible to stop a determined user from adding data to Bitcoin. The more realistic mitigation is to remove the ability to reliably trade these embedded assets as if they were durable, on-chain economic objects. Once the existing inscription and stamp economies are neutralized and their dust-sized carrier UTXOs are fenced off, the motivation to spam the chain in the same way is greatly reduced.
|
|
|
|
TothAnalyst
Newbie
Offline
Activity: 6
Merit: 0
|
 |
December 12, 2025, 09:14:27 AM |
|
I like the idea of keeping the consensus changes as small as possible and treating NMUs more like a one-time reclassification than a shift in Bitcoin’s programmability. That feels like a reasonable middle ground. Using pinned versions of Ord and Stamps for determinism also makes sense to me, especially if the goal is to avoid pulling complex inscription logic into Bitcoin clients. I’m generally supportive of the idea, though I think it would be good to see more discussion around long-term reproducibility and how the community feels about relying on external indexers, even when they’re clearly defined. 
|
|
|
|
|
d5000
Legendary
Offline
Activity: 4578
Merit: 10418
Decentralization Maximalist
|
I think this BIP does it wrong, even if the idea isn't bad and I'm all for ideas that mitigate the UTXO set spam a bit.
There are some of these UTXOs generated by these data/spam techniques that are unspendable, and these are those we should worry about. Not to make additional UTXOs unspendable.
But I think no consensus changes are necessary for this. Instead, nodes should be simply enabled to apply their own calculations, by themselves, which allows them to drop UTXOs they recognize as unspendable from their UTXO set. What method they use would be up to them, they could of course use the external tools or any other heuristics they think viable.
If there's a false positive, and a node drops an UTXO which is spendable, this would not be the end of the world. When that UTXO is spent and they receive the transaction, they would detect it first as invalid and not rely it. However, once they receive a block with the transaction, then the node would become aware of their "fault" and they could reconstruct the UTXO with blockchain data.
Basically it would be always a tradeoff: if their UTXO classification algorithm is too aggressive, then they would have higher running costs later to reconstruct the UTXOs and because they wouldn't be able to use the compact block mechanism for blocks containing that txes.
|
|
|
|
|
WhyFhy
|
 |
December 15, 2025, 02:06:23 PM |
|
This is essentially censorship and confiscation. I vote No.
|
|
|
|
BlackHatCoiner
Legendary
Offline
Activity: 1960
Merit: 9466
Bitcoin is ontological repair
|
 |
December 15, 2025, 02:38:30 PM |
|
If there's a false positive, and a node drops an UTXO which is spendable, this would not be the end of the world. When that UTXO is spent and they receive the transaction, they would detect it first as invalid and not rely it. However, once they receive a block with the transaction, then the node would become aware of their "fault" and they could reconstruct the UTXO with blockchain data. This is a terrible idea. Dust outputs are very often spent, consolidated in large transactions, and find their way into blocks. When a node has discarded a UTXO, then any transaction spending it is considered invalid, and the node must resync with the network from the block that the discarding took place. This can make the user experience significantly worse, with resyncings happening often, going back and fourth in the past. Also, it's not clear to me how the node will distinguish an invalid transaction from an invalid-due-to-discarding. Just accept the reality that dust outputs are fine, they have always been, and don't make things more complicated than needed. Complexity is the enemy of security, and the UTXO set works in a fairly simple and straight forward way.
|
|
|
|
d5000
Legendary
Offline
Activity: 4578
Merit: 10418
Decentralization Maximalist
|
 |
December 15, 2025, 05:01:17 PM Merited by vapourminer (4) |
|
Dust outputs are very often spent, consolidated in large transactions, and find their way into blocks.
I don't mean dust outputs (in the sense of outputs locking a smaller amount than the dust limit), but outputs which cannot be spent because they do not correspond to any private key but are simply fake data, such as the stuff which is stuffed into Stampchain/OLGA transactions. There seem to be cryptographic methods to distinguish them (or at least some of them) from those that can be spent, if I understood previous discussions with @gmaxwell about that subject correctly. If that is not true and I understood it wrong, nodes could simply run the tools proposed in this "BIP" ("ord", the Stampchain tools etc.) each one independently, without any consensus changes, and delete the UTXOs these mark as data transactions. Nodes could even share snapshots of "invalid UTXOs" to avoid having higher costs due to running tools like "ord" all the time, but without imposing anything of that to other nodes. In any case, it doesn't make sense at all to "invalidate" those already-unspendable UTXOs by consensus like this "BIP" proposed, and I fully agree with you that the UTXO set should never be "touched" by consensus methods. The nodes themselves should select what they're considering worthwile to preserve and what not. As I wrote already, if the proceed too agressively, they will later have higher syncing costs - just as Knots nodes have which reject OP_RETURN transactions over 83 bytes and later have to accept them anyway when they get included in blocks. Anyway the definitive solution would be a widespread adoption of Utreexo (where the UTXO set isn't stored entirely, but instead a hash of it).
|
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4676
Merit: 10472
|
 |
December 15, 2025, 10:42:35 PM |
|
I don't mean dust outputs (in the sense of outputs locking a smaller amount than the dust limit), but outputs which cannot be spent because they do not correspond to any private key but are simply fake data, such as the stuff which is stuffed into Stampchain/OLGA transactions.
If an output can't be spent you can just delete it. It's a purely implementation thing with no interoperability concerns, so a description of it wouldn't normally qualify as a BIP. Since it can't be spent no one could ever tell you didn't have it. However, once they receive a block with the transaction, then the node would become aware of their "fault" and they could reconstruct the UTXO with blockchain data.
well you can't do that literally, since there is no way to look up the block that contained it from the transaction in the block. (not without carrying a txindex which uses many many many times more resources than the UTXO set). If you imagine the node relaying the block to you would need to provide accurate hints on where to find the outputs, then you've almost reinvented UTXOTREE-- except its hints aren't to the block history but to a separate tree accumulator of all the unspent outputs.
|
|
|
|
|
pliego
Full Member
 
Offline
Activity: 168
Merit: 108
Rainbet #1 non-kyc crypto casino & sportsbook
|
 |
December 16, 2025, 04:15:16 PM |
|
This BIP is like burning down the house to get rid of a few cobwebs. Proposing consensus-level confiscation just to fight 'spam' is a slippery slope toward a private club where we pick and choose which coins are valid. It turns Bitcoin into a game of Whack-A-Mole where the only real victim is censorship resistance
|
|
|
|
|