I do think it would be nice to sweep up dust transactions, however I'm not that happy with your solution

1) Wouldn't the need to re-transact your coins to keep them safe from "vultures", result in people frantically sending coins to themselves, and thus expand the block chain, instead of reduce growth?

2) putting those hard limits in passes a value judgement that IMO should not be present in the protocol. <1BTC may be worth a lot some day, or it could go the other way around, with dust spam of 10+ BTC. Either way the limits will have to be changed again, with yet another fork.

3) The (normal) user does not have a view of his balance consisting of inputs and outputs of various sizes. He just sees his balance as one number. And somehow, inexplicably (except through a very difficult explanation), it's going down... what if he has 10000 BTC in 0.9999999 BTC units? Annnnnd it's gone after 210000 blocks.

I wonder if there is a way for the whole process to be transparent to the user. The wallet is 'defragmented' but without losing the swept up coins to the miner.


On Mon, Dec 3, 2012 at 12:19 PM, Michael Gronager <gronager@ceptacle.com> wrote:
(Also posted on the forum: https://bitcointalk.org/index.php?topic=128900.0)

The amount of "dust" in the block chain is getting large and it is growing all the time. Currently 11% of unspent tx outputs (UTXO) are of 1Satoshi (0.00000001BTC), 32% is less than 0.0001BTC and 60% is less than 0.001BTC. (Thanks to Jan for digging out these numbers!)

This means that a huge part of the block chain is used for essentially nothing - e.g. the sum of the 11% is worth roughly 2 US cents !

The main source for these 1 Satoshi payouts is Sahtoshi Dice. And nothing wrong with that, however, we should work on ensuring that too many too small payments will not kill the size of the blockchain in the end - further, they are essentially too small to be included in other transaction as the added fee will often make it more expensive to remove them. Hence, there is no incentive to get rid of them.

I have an idea for a possible mitigation of this problem - introduction of demurrage - not as in it normal meaning as a percentage over time (see:http://en.wikipedia.org/wiki/Demurrage_(currency) btw, this has also been tried in freicoin), but as a mean to recycle pennies over time. The proposal is simple - UTXOs age out if not re-transacted - the smaller the coin the faster the aging:
1-99 Satoshi: lives for 210 blocks
100-9999 Satoshi: lives for 2100 blocks
10000-999999 Satoshi: lives for 21000 blocks
1000000-99999999 Satoshi: lives for 210000 blocks

Only amounts above 1BTC lives forever - (or we could even impose aging on those too..)

The aged coins are simply included in the block mining reward, creating another incentive for miners. Further, if we include all coins in this recycle scheme coins will never be lost forever.

This scheme will impose some lifetimes also on e.g. colored coins (hence you need to use a certain amount to borrow space on the blockchain for the time needed, or simply transact them).

If you like this I would be happy to write it into a BIP.

Thoughts ?
Keep yourself connected to Go Parallel:
BUILD Helping you discover the best ways to construct your parallel projects.
Bitcoin-development mailing list