Bitcoin has a growing issue of UTXO dust. Usually this dust occurs from companies trying to track bitcoin use, by sending dust or small transactions to previously used addresses.

There is almost no benefit from allowing this to continue and many disadvantages as it reduces security and anonymity.

We also now have easy ways to avoid address reuse by using Hierarchical Deterministic wallets, so there is no reason that I can see for allowing address reuse to be permitted within the consensus code.

Therefore, why don't bitcoin developers change the code to reject these transactions and hopefully allow the UTXO to start decreasing in size?

1 Answer 1


There are three major reasons I can think of for not implementing this change.

First, it would massively impact transaction validation. To fully validate transactions, you only need to store the UTXO set (set of all unspent transaction outputs), which is currently a few gigabytes in size. If you wanted to disallow address reuse by consensus, you'd also need to keep track of every address (more accurately, output script) that has ever been used, which is a lot more data that also grows at a faster rate than the UTXO set.

Second, this would allow anyone to invalidate an unconfirmed transaction by sending a dust amount to one of its output addresses and getting their transaction confirmed first. This would completely break any off-chain protocol including Lightning.

Third, changes to the Bitcoin protocol generally add features, not remove them. It wouldn't be nice to people who rely on address reuse to remove this feature from under them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.