Let's suppouse A user send tokens to B user. It may be hard to consider it to be confirmed yet. At this point B send the tokens received to another address. Could this transaction be successful? Is there any solution to increase the probability of success for the second transaction?
Assume we have:
- Ta: A send K tokens to B, signed by A.
- Tb: B send J tokens to C, signed by B.
Since the transactions Ta and Tb are frow two different addresses the miners do not have to process them in order.
Even if B waits for enough confirmation there's nothing that prohibit miners to cause a chain reorganization. Waiting for lots of confirmations gives you a very high probability that it will not occur.