Micro transactions or Bitcoin Dust
Dust transactions are bitcoin transfers which deliver very tiny amounts of bitcoin to their receiver. These micro transactions are considered as uneconomic dust.
Bitcoins are divisible
Bitcoins are divisible up to eight decimal points with the lowest value known as a satoshi. This is indeed true, and will remain the way it is. Your bitcoin will always be divisible down to the single satoshi, but sending or receiving in amounts below the threshold would incur a transaction fee. This minimum amount is a hardcoded into the system in order to avoid spam.
Problem with dust transactions
Every single transaction ever processed in the bitcoin network will be saved to the public ledger known as the blockchain. This means that each transaction would take up some bytes of data in the blockchain. The size of the transaction in bytes does not take into account the transaction amount in bitcoin, but rather from the number of inputs and outputs from the said transaction.
If there are lots of dust transactions on the network, the blockchain size will grow exponentially. This will slow down the network with lots of computation power used to verify transactions of no significance value and potentially slowing down legitimate transactions. That is why the Bitcoin foundation is considering such transactions as spam, and discourages them by requiring a fee.
Bitcoin transaction fee
Transaction fees are voluntary on the part of the person making the bitcoin transaction. Typically, most transactions are processed in a way where no fee is expected at all. However, there are certain criteria to be met for the transaction to be safely sent without fees:
- It is smaller than 1,000 bytes.
- All outputs are 0.01 BTC or larger.
- Its priority is large enough (see the Technical Info section below)
Otherwise, the reference implementation will round up the transaction size to the next thousand bytes and add a fee of 0.1 mBTC (0.0001 BTC) per thousand bytes. As an example, a fee of 0.1 mBTC (0.0001 BTC) would be added to a 746 byte transaction, and a fee of 0.2 mBTC (0.0002 BTC) would be added to a 1001 byte transaction. Users may increase the default 0.0001 BTC/kB fee setting, but cannot control transaction fees for each transaction. Bitcoin-Qt does prompt the user to accept the fee before the transaction is sent (they may cancel the transaction if they are not willing to pay the fee).
Note that a typical transaction is 500 bytes, so the typical transaction fee for low-priority transactions is 0.1 mBTC (0.0001 BTC), regardless of the number of bitcoins sent.