Post
Topic
Board Development & Technical Discussion
Merits 2 from 1 user
Re: Increase the minimum send amount to 54600 satoshi?
by
ranochigo
on 26/12/2016, 03:13:53 UTC
⭐ Merited by ETFbitcoin (2)
So currently the minimum send amount (to prevent spam) is 5430 or 5460 satoshi (I don't know which is true), while transactions involving outputs lower than that will be required to pay a higher fee, or aren't even allowed to send.
By default, with a minimum relay fee of 0.00005BTC/KB, the dust is defined as 2730 satoshi. The dust limit is relative to a node's minimum relay fee and the formula is defined here[1]. If a transaction pays a decent fee but has an output that has less than 2730 satoshi, it won't be relayed by the nodes with this kind of configuration.
So earlier this week I've got my faucet payout, and realized that the few payout transactions already taken up more than 300KB of a block (more than 10000 outputs), and to spend them, another 2MB of data is needed, which will fill 2 full blocks and making the chain unusable for 20 minutes!
It isn't an issue. Is everyone going to spend it at the same time?
Increasing such minimum output thershold will help decreasing such spams caused by faucet outputs (and they'll need a higher payment thershold, which will spam the blockchain for less), and increasing the space for other transactions within that 1MB block size limit. If a non-standard transaction occurred with outputs less than that amount, then an extra miner fee of at least 54600 satoshi per such output would be required, and full clients should reject transaction not meeting that thershold.

What do you think?
The withdrawal threshold for most faucet sites is actually quite big enough. Theres a huge problem with increasing the minimum output size to that amount. In a normal transaction, there is likely to be change sent to the change address. Many a times, the change output is very low. Penalising them wouldn't make sense.
[1] https://github.com/bitcoin/bitcoin/blob/e8cfe1ee2d01c493b758a67ad14707dca15792ea/src/primitives/transaction.h#L166