[bitcoin-dev] Removing the Dust Limit
lf-lists at mattcorallo.com
Sun Aug 8 21:14:23 UTC 2021
If it weren't for the implications in changing standardness here, I think we should consider increasing the dust limit
The size of the UTXO set is a fundamental scalability constraint of the system. In fact, with proposals like
assume-utxo/background history sync it is arguably *the* fundamental scalability constraint of the system. Today's dust
limit is incredibly low - its based on a feerate of only 3 sat/vByte in order for claiming the UTXO to have *any* value,
not just having enough value to be worth bothering. As feerates have gone up over time, and as we expect them to go up
further, we should be considering drastically increasing the 3 sat/vByte basis to something more like 20 sat/vB.
On 8/8/21 14:52, Jeremy via bitcoin-dev wrote:
> We should remove the dust limit from Bitcoin. Five reasons:
> 1) it's not our business what outputs people want to create
It is precisely our business - the costs are born by us, not the creator. If someone wants to create outputs which don't
make sense to spend, they can do so using OP_RETURN, since they won't spend it anyway.
> 2) dust outputs can be used in various authentication/delegation smart contracts
So can low-value-but-enough-to-be-worth-spending-when-you're-done-with-them outputs.
> 3) dust sized htlcs in lightning
> force channels to operate in a semi-trusted mode which has implications (AFAIU) for the regulatory classification of
> channels in various jurisdictions; agnostic treatment of fund transfers would simplify this (like getting a 0.01 cent
> dividend check in the mail)
This is unrelated to the consensus dust limit. This is related to the practical question about the value of claiming an
output. Again, the appropriate way to solve this instead of including spendable dust outputs would be an OP_RETURN
output (though I believe this particular problem is actually better solved elsewhere in the lightning protocol).
> 4) thinly divisible colored coin protocols might make use of sats as value markers for transactions.
These schemes can and should use values which make them economical to spend. The whole *point* of the dust limit is to
encourage people to use values which make sense economically to "clean up" after they're done with them. If people want
to use outputs which they will not spend/"clean up" later, they should be using OP_RETURN.
> 5) should we ever do confidential transactions we can't prevent it without compromising privacy / allowed transfers
This is the reason the dust limit is not a *consensus* limit. If and when CT were to happen we can and would relax the
standardness rules around the dust limit to allow for CT.
> The main reasons I'm aware of not allow dust creation is that:
> 1) dust is spam
> 2) dust fingerprinting attacks
3) The significant costs to every miner and full node operator.
More information about the bitcoin-dev