Why does Bitcoin charge per transaction? The first time I heard about Bitcoin, someone told me that it's almost free to transfer bitcoins to other people. However, I found something called "cost per transaction." Why does the Bitcoin network charge per transaction? Who receives the transaction fee?
Because it is in fact "almost free". The transaction fee charged by the bitcoin protocol is so small that it basically doesn't matter when compared to standard banking fees.

This measure is in place for several reasons, including:


Promoting mining. Mining requires expensive hardware and miners
expect to receive some sort of compensation for contributing to the
network. This is necessary to keep the bitcoin network decentralized,
secure, reliable and fast. This is where this fee ends up: in the
hands of miners that confirm your transactions.
Avoiding spam. Anybody could decide to write a bot that sends very, very
small fractions on a very short delay in order to spam the network,
as a form of DoS. This fee makes these kinds of attacks very
expensive, because if you transfer, let's say 30 euros, the fee could
be 0.01 cents. But if you transfer 1 cent, the fee is still 0.01
cents, making the fee not a percentage but a fixed quantity which
gets more expensive as the amount to transfer decreases.


Watch this to learn more: https://www.youtube.com/watch?v=X_hz7TyQ_bs