That sounds like a lot of work to avoid dust inputs.
Of course. The lower the fee, the harder it is to confirm it. And for negative fees, you have to convince someone, to actually add more coins, and pay for your transaction. Which usually means selling something, because the other party needs a good reason to pay you.
I don't really see how this is better than manually consolidating
Because then, literally anyone can add more coins in. Which means, that if you sign something with SIGHASH_ALL, then it creates quite strong assumption, that all coins are yours. But here, it is not the case.
And of course, you can always pretend, that you sold something, and use your own coins with different sighashes, just to test it, before making some real transaction with someone else.
Why would other users do that?
Because then, fees can be dynamically set. If everything is signed, then you have to use pre-signed fees, which can be too high, or too low, if a given transaction is broadcasted in the future. But if you make it partially open, then you can adjust it just before broadcasting. And also, fees can be paid by the receiver, instead of the sender, or the payer can be dynamically chosen, if needed.
In general, I think transactions open for modifications will be more and more useful. Because for example if you need only a single input, and only a single output, then it can be safely signed with SIGHASH_SINGLE, combined with SIGHASH_ANYONECANPAY. And then, miners could collect a lot of low-fee transactions into a single, batched transaction, which would take less on-chain bytes, because of stripping some repeated fields.
Which also means, that a bunch of transactions with less than 1 sat/vB can be then collected, and combined, to form a single transaction with at least 1 sat/vB, which would be seen by everyone, without increasing fees for any participant (exactly the same amounts could take less on-chain bytes, after being combined into a single transaction).
I don't expect the average (or even advanced) Bitcoin user to be able to do this if it's not handled in a GUI wallet.
Yes, it is something like coin control: it probably shouldn't be available by default. But I think it should be possible to pick different sighashes from GUI, and see, what exactly is signed by every input.
I don't think I'll be able to send transactions < 1 sat/vB through the UI in the send tab.
I remember when Garlo Nicon used Bitcoin Core to send
testnet transactions with one or two satoshis per transaction in his own blocks. If that was possible in the old Bitcoin Core version from 2024, then it should be also possible now, because I think nobody blocked it.
As far as I know, 0.001 sat/vB is something, that you can do from GUI, if you want. Confirming it is another matter, but you can create it and try to broadcast it, just by using the official client.