I dont fully get it.
Why arent we just putting the dust output back into another used wallet address?
Let's say the only bitcoins I have in my whole electrum wallet is 0.50010001 BTC and I received it in 1 transaction to 1 of my addresses.
Let's then say I would like to send 0.5 BTC to a friend and the minimum fee is 0.0001 BTC (yes I know right now less than half the network will accept 0.00001 BTC as minimum)
If there was no such thing as "dust" I would do the following:
Input#1: 0.50010001 BTC used up.
Output#1: 0.5 BTC to friend
Output#2: 0.00000001 BTC to self
Miner's fee: 0.0001 BTC
Inputs - (Outputs + Miner's fee) = 0 = OK
Then I would be using my output fully.
However, there is a rule in Bitcoin that states: "If any one of the outputs is less than 5430 satoshis (0.0000543 BTC) this transaction is spam, don't include it in a block."
So the scenario above would create a "dust" transaction. As miner's have to include the whole transaction, and that transaction contains an output smaller than 5430 satoshis.
To deal with this, some people have proposed "using another output in the transaction to merge with the dust and make it big enough to send."
That would be something similar to if the above wallet ALSO had another usable utxo that was, let's say, 0.01 BTC.
The idea states:
Input#1: 0.50010001 BTC used up.
Input#2: 0.01 BTC used up.
Output#1: 0.5 BTC to friend
Output#2: 0.01000001 BTC to self
Miner's fee: 0.0001 BTC
Inputs - (Outputs + Miner's fee) = 0 = OK
However, adding a new input to the transaction adds 140 bytes to the transaction (along with the 34 bytes for the change output as compared to including it into the miner's fee) (107 once we get support for compressed addresses). Any transaction under 1024 bytes is ok with the minimum fee, but even if you go over by one byte, (1025) then you should pay 2 x the minimum fee to get proper priority.
Which would make the trade off of adding an input in order to save 1 satoshi seem illogical.
Anywho, if you can think of a better solution, great. But for now the transaction is like this:
Input#1: 0.50010001 BTC used up.
Output#1: 0.5 BTC to friend
Miner's fee: 0.00010001 BTC
Inputs - (Outputs + Miner's fee) = 0 = OK