They truly could, but because they're currently doing it in Bitcoin, and it can't be stopped - unless there's community consensus to hard fork and upgrade the network - then it's better if they're given the ability to use off-chain transactions, no? It might give the Lightning Network a new sort of utility. Dick pic and fart sound collectors don't want to pay for high fees too.
There are different ways of shutting this attack down, one of which is through the Bitcoin protocol. One way would be for those backing this attack to stop supporting it and the centralized market where the Ordinal scams are taking place to be shut down. After all those attacking bitcoin are accepting the high fees because they can have a chance of making some profit from those scams.
With the incentive gone, the attack would stop abruptly.
I don't doubt those many ways of shutting this "attack" - according to your opinion - down. I'm asking actually HOW? Those are valid transactions that paid the fees/followed the consensus rules. It's a very dangerous path for the community if shutting it down gets consensus. Because that would start a cycle, in that, another group of people could also complain about some other use case and demand that it should be "shutdown".
How?
...but just above, in the previous post, I described you exactly, how.
a new chain, made completely from scratch, would contain only Ordinals data, and just some SPV proofs, that a given data is connected with a given Bitcoin output
You know, what is "SPV proof", right? If you have for example a block header, then it takes only 80 bytes, no matter how big is the block behind it. And the same is true for Ordinals: they are hidden behind a single P2TR address, no matter how big they are, when you spend them, and reveal them on-chain. Which means, that you need to point at some 256-bit value on-chain, to prove, that it is connected with your data.
But: that's not all. By doing OP_RETURN, and adding some 32-byte data push, you would reveal, that some kind of commitment is there, and your transaction is not "only a payment". However, if you tweak R-value of your signature instead, then you don't need any additional bytes, for example inside OP_RETURN. Then, you just make a regular signature, using any address type, and just replace one signature with another, which can be used to also prove, that some data is attached into it.
And when it comes to technical details, then they were mentioned by Anthony Towns on the old mailing list:
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-November/022176.htmlSign-to-contract looks like:
* generate a secret random nonce r0
* calculate the public version R0 = r0*G
* calculate a derived nonce r = r0 + SHA256(R0, data), where "data"
is what you want to commit to
* generate your signature using public nonce R=r*G as usual
And then, if you just replace one signature with another, you can put the whole SPV proof on your own chain. Then, if one on-chain signature will commit to the whole chain of your choice, it will be sufficient to get it covered by Bitcoin's Proof of Work.
Also note, that if you need to put your commitment inside your output, instead of your input (for example if you want to put that in the coinbase transaction), then you can use exactly the same trick, because it works everywhere, where you can encounter any valid public key.
Edit: Also, if you want to understand it better, or preserve some kind of backward-compatibility, then in practice, you need only a small modification: just spend your Ordinals by key, not by TapScript. Or rather: spend them by key on Bitcoin, and spend them by TapScript on the separate chain, made just for Ordinals.
That's the "what", not the "how". How do you convince NFT users to stop using on-chain Bitcoin?