August 2019
Intermediate to advanced
486 pages
13h 52m
English
We only discussed the approve() function-specific front-running attack. However, other kinds of front-running attacks can also happen. For example, when a user is registering a unique value, once this is registered, no one is allowed to register it again on the same contract. Like the domain name registration, once it is registered with a user, another person cannot register it again, as the first person has became the owner of that.
An attacker can watch for the transactions on that contract and can send the high gas-price transaction to front run the user's transaction.
To prevent this type of front-running attack, you should use the commit-and-reveal scheme. We discussed this technique in this chapter when we ...