Let's suppose Facebook was built on EOS as a dApp. A 'Like' is a transaction written on the blockchain. Unliking that Like is also a transaction written on the blockchain.

What if a user continuously repeats these actions - Like/Unlike/Like/Unlike - with an intention of spamming the network?

Does EOS have a mechanism to deal with this or is it up to the developer to handle such behavior?

1 Answer 1


This is handled through staking and rate limiting.

In order to have a functioning Dapp you need to stake tokens (RAM, CPU and bandwidth). These buy you a percentage of the resources on the chain. If you use to much your transactions will not go through. The section on resource limits here gives a good primer - https://medium.com/eosio/introducing-eos-io-application-stack-a95b24b2bfca

Now for an individual Dapp, if it allows Spam style activity then it will be subject to the same rules. Therefore it will be good Dapp design to limit users ability to create spam and there are plenty of ways to do this on the user interface level (and even at the contract level).

There is also arbitration in EOS and it is possible that spammers may receive penalties.

  • It would need to be at the contract level right? User interfaces can always be bypassed by interacting with the smart contract directly. I'd be curious to see some rate limiting examples, great question
    – Alex
    May 14, 2018 at 5:01

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .