As can be understood from the title, there is a specific form of denial attack where specific transactions are blocked by submitting transactions with strategically calculated gas prices.

Example 1: Livepeer Token Distribution (MerkleMine)

looks like a miner(s) is "snatching" txns. You submit proofs to mine LPT, and they immediately submit the same ones with higher gas to get it confirmed first. While in the end it's impossible to entirely prevent this, (whoever get a proof for an account confirmed first gets the LPT), will look at what we can do to update the UX of the web miner so that it doesn't lead to a bad experience or as much lost gas.

- Doug Petkanics on the Livepeer Discord Channel

Example 2: FOMO3D Long First Round

There's quite a bit of interesting fud in which players have decided round #1 was "stolen" or "hacked" or that someone "cheated". This is laughably false, and the reality of what occurred is actually so brilliant that although you already wish you had thought of it yourself, you'll wish a bit harder after i explain it.

A bot did not win Fomo3D Round #1, a manual player did with transactions they triggered manually or were directly babysitting. They spent about 40-50 eth over the last week penetration testing... not the game, but the bots that were playing the game. Why try to break the game when you just have to be more clever than the other players right?

They used this to pinpoint a flaw in the way the bots were playing hot potato with the timer. Most the bots use various eth gas APIs, which report the averages ,or the fast gas prices per block. But don't correct very quickly to large gas spikes or individual transactions. They figured this out, analyzed it, and formatted a method to trick both the "Fast" gas prices and the "standard" gas prices the bots were using on the network to lock them out of the final win.

What occurred was the following: The player purchased about 4,800,000 Gas for 15 Gwei (About 60% of each block) They then purchased about 2,700,000 Gas for 190 Gwei (About 35% of each block) Then bought up the rest of the gas in the block for 500 Gwei (That last 5% chunk)

Now, they panicked... a lot, and didn't manage to do this flawlessly. But they did manage it in a rough enough manner to make two things happen. 1). If you notice, the average gas price across that block was not 500 gwei, it was actually much less around 40ish or so, this is the price bots were submitting transactions for. The winner did this a couple times, and then started paying very large amounts for all three to block out the other transactions. They did not pull this off flawlessly, but it did work long enough to trick the bots.

2). The miners, were picking up the 60% and 35% transactions almost automatically because the user was paying a very high price for a large amount of gas. This means that the remaining transactions were now competing with that last 5%, which actually was a gas price of 500.

None of the bots were submitting 500 gwei transactions, because the average they were following was much lower, so none of them beat that player. Your "Hack" was really just the bots getting ABSOLUTELY OUT FUCKING SKILLED. The same issue won't occur again because the botters will now know how they lost and fix it.

It was quite impressive actually, and you should applaud the player that pulled it off. One of the absolutely coolest ways the round could have ended was this player manually outplaying the bots themselves.

- Justo on the FOMO3D/POWH3D Discord Channel

My question is: Is there a specific name for this type of attack?

  • please explain the following: hey then purchased about 2,700,000 Gas for 190 Gwei (About 35% of each block) Then bought up the rest of the gas in the block for 500 Gwei (That last 5% chunk) . Because in Ethereum you can't buy gas per blocks. The only thing you can do is to rise the gas price for your transaction. And everybody knows that your transaction will win over the transaction of others if you rise the gasPrice, so where is the hack?
    – Nulik
    Sep 14, 2018 at 18:17
  • I was confused about the same thing. I think by purchase, they mean running a contract function that is specifically designed to use that much gas. So purchasing X Gas for Y Gwei actually means using X Gas at Y Gwei/Gas. Nic Carter called this block stuffing in this thread: twitter.com/nic__carter/status/1032680332221394944
    – osolmaz
    Sep 14, 2018 at 19:55
  • It is a form of front running.
    – Ismael
    Sep 14, 2018 at 20:18
  • @Ismael, nice stuff, but after all, if front running is profitable for someone, why would it be bad? You are the one who sets the price for your holdings and once you placed the order, you don't care who buys it , a reseller or an end user.
    – Nulik
    Sep 14, 2018 at 20:56
  • @Nulik I do not think it is bad if the rules allow it.
    – Ismael
    Sep 14, 2018 at 21:42


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy