Replying to Avatar Tauri

I see way too many people on Nostr that are still confused about the Core vs Knots debate. This is a tl;dr for them. If a longer explanation is needed, they should go over the website below.

tl;dr:

SegWit introduced the witness discount, that ended up making junk data up to 75% cheaper, which opened the door for arbitrary data-carrying transactions to directly compete with monetary transactions for blockspace. In practice, that ended up being an unintended de facto subsidy for spam.

Taproot then provided a way for inscriptions to sidestep the old datacarriersize filter, which is why the UTXO set exploded from around 4 GB in 2023 to nearly 12 GB by 2025, putting real strain on low-end node hardware.

Meanwhile, the Core devs’ reaction has been pathetic — hand-waving it away for two whole years as “free market dynamics” or saying that fixing the exploit is considered “controversial”. At the same time they did a stealth documentation change to pretend the broken filter is “working as intended”. nostr:nprofile1qqs8ha7ms0mny284ma46xjzf72hel42t74jmtttf3trssfymxyq8ngqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3gamnwvaz7tmwdaehgu3wdau8gu3wv3jhv72x8mv caught them red handed, but instead of apologising for hiding it, they claimed that changing the documentation is a valid way for fixing bugs.

Now they’re doubling down their efforts “to fight spam” they willingly allowed by gutting another spam filter (OP_RETURN) that has worked for 11 years, and helped keep 99.9% of all OP_RETURNs at or under 80 bytes. Larger payloads were possible, but never at the absurd size of 100 KB in a single output.

Core v30, due in early October, will raise the default limit to 100 KB (an 1200x increase), which makes it trivial to upload entire malware files or worse straight into the chain. This isn’t hypothetical — when BSV made the same change in 2019, it was immediately hit with child p[]rn.

The legal and practical fallout for Bitcoin node operators, especially those on cloud infrastructure, hasn’t even begun to be fully grasped.

All these absurd and rushed decisions raise the obvious questions: why push this change through despite massive pushback; who stands to profit from it; and why are the real risks of this happening being ignored or swept under the rug?

https://wtfhappenedinfeb2023.com

just to add some details: tapscript size being unlimited caused the inscriptions, which is in the witness data. before taproot, with segwit v0 there was a P2WSH script size limit, which limits the size of witness while spending a P2WSH output.

https://github.com/bitcoin/bitcoin/blob/fc06881f13495154c888a64a38c7d538baf00435/src%2Fpolicy%2Fpolicy.h#L47

this whole file is about policy settings, aka filters. these settings are policy so we don't have to fork the chain each time we wanna change these.

if you are asking what does this have to do with P2WSH, witness data is in the input side of the tx. so meaning of witness data is decided by scriptPubKey of the output we are spending.

of course inscriptions were possible before taproot, but only really small images. or you had to split it into multiple inputs. which increases the total size and fee you have to pay.

tapscript(which is basically witness space in taproot) being unlimited made it attractive as blob data storage.

we can limit the tapscript size, or we can detect inscriptions specifically and other similar methods and filter them specifically, because they are using the script space as data storage, which is unintended use. parasite.

knots does similar stuff.

Reply to this note

Please Login to reply.

Discussion

i mean bitcoin as data blob storage is unintended in general

Thanks for the clarification shibe 🫡