There are two main reasons to have transaction fees in Cardano, or any other cryptocurrency:
- The prevention of distributed denial of service (DDoS) attacks. In a DDoS attack, an attacker attempts to flood the network with spam transactions. If he were required to pay a sufficiently high fee for each of these fictitious transactions, this form of attack would be prohibitively expensive.
- Providing funds for incentives.
How transaction fees work
Each time someone wants to transfer an amount of Ada, a minimum fee is paid for that transaction. This minimum fee validates the transaction, although the sender is free to pay higher fees if they wish.
A transaction of 200 bytes in size (a fairly typical size) costs (at the time of writing):
0.155381 Ada + 0.000043946 Ada/byte × 200 bytes = 0.1641702 Ada.
The minimum fee for a transaction is calculated according to the formula: a + b × size
a: is a special constant, currently is 0.155381 Ada;
b: is a special constant, currently is 0.000043946 Ada/byte;
size: is the size of the transaction in bytes.
The reason for having the parameter a is to prevent the DDoS attacks mentioned above. Even a very small dummy transaction should cost enough to hurt an attacker who is trying to generate many thousands of them.
Parameter b has been introduced to reflect the real costs: storing larger transactions requires more computer memory than storing smaller transactions, so larger transactions should be more expensive than smaller ones.
Although particular values were calculated for parameters a and b, it is likely that these values will be adjusted in the future to better reflect actual costs.
I appreciate your contribution to encourage my articles