Fake 0 Token Transaction – Understanding the Fake 0 Token Transaction Phenomenon on BSC

bscerc-20

https://bscscan.com/tx/0x1dc5ad8ac2c8bed505da92cf55ff6116d24054f99b6df794ab833f40ed30f0d0

In this transaction there was 20 fake transactions. BUSD were moved from addresses that do not belong to transaction sender. So the person who created this transaction doesn't have private keys of addresses 0 BUSD were sent from. How is this possible?

Best Answer

The contracts of those tokens (e.g. this) allow transferring 0 Tokens from any account to any other account.

This is possible because the check of transfer and approvement is implemented like this enter image description here

if balance - amountToTransfer is not negative then allow it and 0 - 0 is not negative

This means

  • Account A can send 0 tokens to account B. even if account A has 0 tokens
  • Account C can send 0 tokens from any Account to any other Account even without approval.

I'm not sure if it is intended (Probably yes, because it probably does not do any harm). But the real question is What is the goal of transferring 0 tokens?

You can copy the code of the token to remix, deploy it and then try it yourself

enter image description here

Related Topic