An advanced wallet feature should be the ability to disable all address reuse. The attack this is designed to stop is if I know that the address 1BPmZt3kjnFffANNs6MCBBBKRYwRGGrXQZ is part of Alice’s wallet, it shouldn’t be possible to continually pepper it with dust and learn more about her as her wallet automatically keeps spend-linking it with her other outgoing transactions.
I’m not exactly sure how the implementation of this would look, but I think a sensible route would be to make the lockunspent
shit persistent (it’s already annoying that it’s not), and if the “-ignore-funds-from-reused-addresses” feature is enable, the wallet would automatically lock that output upon it being received.
(It’s probably bad form: But I’m offering a 1 BTC bounty to anyone who can get such a feature merged in within 6 months of this posting).