Author

Topic: Opt in use of change addresses to decrease utxo? (Read 296 times)

staff
Activity: 3458
Merit: 6793
Just writing some code
It doesn't make a difference. It is not the number of addresses that increases the UTXO set, it's the number of UTXOs. Creating a change output, regardless of the address associated with the output, creates one more UTXO which is added to the UTXO set.

On a technical level, there is no such thing as an address. Bitcoin does not use addresses, it uses UTXOs. Addresses only tell wallet software what type of transaction output it should create and the data that goes inside of it. It does not matter whether you have received 100 UTXOs at one address or 100 UTXOs at 100 addresses, it is still 100 UTXOs which are exactly the same size and it is still an additional 100 UTXOs added to the UTXO set.

What would help with UTXO set growth is to have better coin selection algorithms which more favor consuming lots of UTXOs and creating fewer outputs, i.e. algorithms which avoid the creation of change outputs.
member
Activity: 73
Merit: 13
I know that the idea of change addresses were there to give some measure of privacy to the user, but is that really necessary for it to be the default? With the growth of the UTXO causing some of the major hurdles in bitcoin growth, could it be changed to an opt in privacy setting?

I know at the moment coin control is available, but it's hidden behind the advanced settings and is not the default. Privacy is the default, which I sympathise with, but I would ask is it worth it when bitcoin isn't really private anyway? Would it be worthwhile putting it in reverse? Making new change addresses as the opt-in part? And returning change to the original address the default?

Perhaps it won't make a difference because most txs are by exchanges and they wouldn't alter their method of tx creation, perhaps this this isn't a good idea because of some other reason... I'm no genius on this.

I've searched but haven't really seen it floated before, anyone got an input?
Jump to: