dogecoin/dogecoin — pull request #294 by somegeekintn (2014-03-02 13:28:32+00:00)
Title: No min

For background see #285

I thought about quite a bit and eventually decided to submit this PR for two reasons. Primarily, the software should allow access to all of your coins whatever the amount. And also because dust should be, and is being, prevented during output creation. However, once it's been created it's actually a good thing to allow those coins to be swept into a new transaction to reduce block chain bloat / clutter (see also notes in Bitcoin 0.9.0rc2 encouraging sweeping). Basically the mininput stuff is like closing the barn door after the horse has left the stable.

These changes remove the minimum input restriction so all future transactions, regardless of the amount, are available to the user. While it is true that these coins can be recovered without this change, doing so requires the user to launch the client with miniput *and* rescan added to the command line to locate these transactions. Even with this change gaining access to old transactions that are less than 0.01 DOGE will require a rescan, but going forward all of your coins will be accessible whatever the amount.

Since the changes were added to combat dust in December the number of transactions containing dust has been reduced dramatically, but they do still happen from time to time for whatever reason. When you consider that the number of people on reddit that are thrilled to receive as little as 1 DOGE it's not hard to imagine that many of the transactions are legitimate. Restricting access to amounts less than 0.01 is bound to cause some confusion and may lead users to believe the software is broken. Indeed several of us here were perplexed for a bit chasing down #285.

At a minimum I would recommend adding the change in wallet.h line 227 so all coins are at least added to the wallet without also requiring a rescan.

FYI here are some things I discovered while researching this issue:

* As of block 123,343: 1,210,592 outputs have been created containing amounts less than 0.01 DOGE totaling 110.02716482 DOGE.
* Since adding the dust check in December that number has been dramatically reduced. Dust now appears at a rate of roughly once every 50 blocks.
* Over the last 10,000 blocks: 187 outputs have been created with a value less than 0.01 DOGE totaling 0.47299720 DOGE
* There may still be some issue when creating transactions where amounts less than 0.01 DOGE are not being moved into the fee as expected. This may not be the official client creating these transactions however. It's something I want to look into though.
* Also some transactions are somehow being relayed without paying the necessary fees. For every output less than 0.01 the fee should increase by 1 DOGE but somehow there are transactions like this: http://dogechain.info/tx/216fecab2f47195a82defe6a76d099d40fc0e42007710344242ae5f2ae3d9025 This is also something I'd like to look into.