Bitcoin uses fees as a way of preventing unlimited txns being sent by malicious parties to clog up the network.
Recently - quite a few coins out there are pushing a zero fee system. (IOTA, NANO, EOS etc..)
If a peer-2-peer crypto network doesn't require fees, say they have no miners - or have miners who are paid by other means, how is SPAM reduced ?
I am trying to list / break-down all the different methods..
1) HASHCASH - You ask the sender of transactions to do some POW work. So they have to spend some time and effort before sending the transaction, and invariably cannot proceed indefinitely.
2) Blacklist known malicious IPs.
3) Restrict the number of transactions any node will accept from any peer it is connected to - although how to distinguish the legit from the SPAM txns ? Does it matter ? maybe just restricting is enough.
4) Bit cheeky - But the sender could _burn_ some funds - the transaction outputs would be slightly less than the inputs. This is not strictly a fee as no user receives it, but is a cost that is passed on to the user. This would make spamming much more expensive.