Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: Blinken on November 22, 2017, 01:57:47 PM



Title: Dust death of Bitcoin?
Post by: Blinken on November 22, 2017, 01:57:47 PM
It seems that when transactions occur the outputs only get smaller and are never aggregated. That can't end well.

For example, let's say that address A has an output with 1 BTC and address B has an output of 1.5 BTC and both send 0.5 BTC to address X. In this case X now has 2 unspent outputs of 0.5. They are not aggregated, but are treated separately. So, for example, if X wants to send 0.75 BTC to address Y, then output 1 might be sent to Y and also 0.25 of output 2, while 0.24 is sent to a change address and 0.01 is left as a fee. So, a total of 0.75 BTC is sent to Y, but it is still divided into 2 outputs. Also, the fee is problematical because they are relatively small. The miners collect thousands of small dollar fee outputs, but there is no way to aggregate them, so they are stuck with thousands of tiny little outputs.

This would suggest that eventually Bitcoin will experience a "dust death" because the outputs will just keep getting divided into smaller and smaller outputs until it becomes impractical to transact them. Is this correct?



Title: Re: Dust death of Bitcoin?
Post by: DannyHamilton on November 22, 2017, 03:15:30 PM
It seems that when transactions occur the outputs only get smaller and are never aggregated.

This is not correct.

Well written wallets and wise people will aggregate funds and avoid building dust outputs.

That can't end well.

It can end very well.

For example, let's say that address A has an output with 1 BTC and address B has an output of 1.5 BTC and both send 0.5 BTC to address X. In this case X now has 2 unspent outputs of 0.5. They are not aggregated, but are treated separately.

Correct.

So, for example, if X wants to send 0.75 BTC to address Y, then output 1 might be sent to Y and also 0.25 of output 2, while 0.24 is sent to a change address and 0.01 is left as a fee. So, a total of 0.75 BTC is sent to Y, but it is still divided into 2 outputs.

Correct.  One output to Y, and one output as change back to X.

Also, the fee is problematical because they are relatively small. The miners collect thousands of small dollar fee outputs, but there is no way to aggregate them, so they are stuck with thousands of tiny little outputs.

That is absolutely false.

All the fees can be (and often are) paid along with the block reward in an single output in the generation (coinbase) transaction.

This would suggest that eventually Bitcoin will experience a "dust death" because the outputs will just keep getting divided into smaller and smaller outputs until it becomes impractical to transact them. Is this correct?

No.  It is not correct.

For example, lets say that you receive 3 payments of 0.25 BTC each.  Now you want to send a payment of 0.6 BTC to me...

Before your transaction, there are 3 unspent outputs all controlled by you:
  • 0.25 BTC
  • 0.25 BTC
  • 0.25 BTC

After your transaction, there are 2 unspent outputs...

One controlled by you:
  • 0.15 BTC

And one controlled by me:
  • 0.6 BTC