|
April 18, 2013, 02:05:04 AM |
|
Bitcoin is a voluntary system. It is not "required" that you include a fee. You are welcome to attempt to broadcast a transaction with no fee (some wallets prevent this under certain circumstances, others will allow you to do so regardless of the circumstances).
However, peers are not "required" to relay your transaction. They are welcome to refuse to relay it for any reason they like. Most peers will be running the "reference client" called Bitcoin-Qt. In that case they will relay most all transactions, but if the transaction appears "spammy" or like it could potentially be part of a denial-of-service attack on the network, then they may refuse to relay the transaction if it doesn't include a sufficient fee.
Additionally, miners are not "required" to include your transaction in a block. They are welcome to refuse to include it if they feel they can increase their profits by including some other transaction that has a fee instead of your "free" transaction.
This all being said, most all "free" transactions where all outputs are greater than 0.01 BTC and the total size of the transaction is less than 10 kilobytes, will be relayed and will eventually be included in a block by a miner. Miners see a long term benefit to maintaining a system that is cheap and easy to use. Eventually as the block subsidy shrinks, miners will likely become more stingy about which free transaction (if any) they will include in their blocks.
Meanwhile, you may find that large retailers subsidize mining organizations to ensure that transactions paid to them are quickly confirmed. Perhaps Walmart will offer a few mining pools a contract that pays the miner a subsidy for every transaction that is submitted by them and confirmed. That way the consumer has the fee hidden from them in the price of the products they buy.
|