Please describe the feature you’d like to see added.
This is the basis for my proposal….
Is your feature related to a problem, if so please describe it.
Based on the number of Txs that have been unmovable, unspendable for nearly a solid year, it appears that the static dust limit is still permitting dust attacks, based on how the UTXO system works. Any entity with the ability to print infinite fiat or with the ability to cease hundreds of thousands of Bitcoin (or even miners that collude with or become those performing a dust attack, creating a circular loop of TxFees) could drive TxFees to “unusable levels” for an extended period of time. If TxFees are at 50,000 to 100,000 sats for a year, because there’s 100 million 330 sat Txs, then it’s safe to say that the static dust limit is not working as intended, in the eyes of those that are actually trying to move their Satoshis as a store of value.
It’s my belief that spam [and TxFees] have been dropping because people are starting to realize that these non-monetary Txs (those that cannot be moved because the UTXO is not large enough to pay for the TxFee) make zero sense from the point of being “transferable NFTs” or what have you, and any transfer of these dust Txs would need to take place off chain.
Describe the solution you’d like
A basic coding example of this proposal is simply:
if (Tx < TxFee) {isDust = True;}
Obviously, GetDustThreshold and other parts of the code would need to change to reflect this understanding. Hopefully, someone is able to help me/us figure out how to make this basic understanding a reality… as dust attacks and a bloated UTXO set on lightweight nodes (incl. LN nodes) across the globe are a real concern.
Describe any alternatives you’ve considered
Rearden made these comments, which sound similar to what I’m proposing, yet I don’t fully understand it or how it would be implemented, but perhaps it is an alternative solution??
I’d be supportive of a solid proposal to internalize the cost of net UTXO creation to tx fees, which would increase the cost of the most negatively impactful txs we’re currently seeing.
I was thinking something more like a weight multiplier that is 1 for net out:in UTXO ratio <= 1 and increases exponentially as out:in UTXO ratio goes > 1.
Please leave any additional context
There are a few concerns that others have mentioned, which could more than likely be worked around one way or another:
(1) CPFP Txs. These low sat Txs could be tied to the larger sat, parent Tx to THEN see if (TotalTx < TotalTxFees). (2) LN is currently assuming that the static dust limits will always be valid Txs, so somehow they will need to assume that Txs will more liquidity. Perhaps there can be some liquidity pooling solution to help with this? Regardless, this is a LN problem, NOT a Core problem. (3) LN Anchor Txs. Similar to point (1), it seems like this low sat Tx could be tied to the earlier larger sat, parent Tx. Not sure if these anchor Txs are actually using a CPFP type Tx, but surely there’s a way to peg the latter Tx to the earlier Tx and total the cost of the Txs and TxFees.
Elsewhere, someone asked me:
“What would happen if there was a Tx with 1 input and 2 outputs, where the 1st output is larger than the TxFee but the 2nd output is smaller than the TxFee?”
The end result is that the entire Tx would be invalid, as the 2nd output is dust. This is precisely what would happen now if the 2nd output was only 1 sat. The entire Tx would neither be relayed nor mined, because it’s invalid [dust].