FOMO3D Ethereum ponzi game R1 ends as hot play outmaneuvers bots
The $3 million jackpot goes to one clever human in a sea of robots.
FOMO3D has a little something for everyone. The psychologists can marvel at a study in pure greed, the anthropologists can trace it against the fascinating history of ponzi games on the blockchain and the engineers and gamblers can throw money into the pot for a chance at the jackpot. At the end of the first round, this turned out to be 10,469ETH, worth about US$3 million.
In its simplest terms, FOMO3D is a game where everyone throws money into a pool. The round ends when no one's thrown money at it for 24 hours. At this point, the last person to throw money into the pool gets to walk away with a huge jackpot. There are a few more peripheral elements, like dividends paid out from the pool, to keep things interesting.
As you can see, people would be loath to let the timer tick down to zero if it means someone else walks away with the jackpot, so people just keep adding more money on top. To this end, most players ended up using bots that automatically pulled Ether from pre-funded accounts and put it into the game, just to prevent the timer from ticking away while they aren't looking.
Enter the hot play.
Never send a robot to do a human's job
The round ended, as FOMO3D founder "Justo" explained, when someone manually outplayed the bots, for a much more skillful and spectacular finish than anyone was expecting. The play involved manually filling up Ethereum blocks to prevent the bots from entering their transactions to the game. Easier said than done.
Scoping out the opposition
The player spent about 40 to 50 Ether (about US$12,000 to $14,000) on training in the week before game day. This training involved sending transactions to scope out the opposing bots and seeing how they react to different situations. Classic penetration testing, if you will.
The task given to the bot opposition is relatively simple. It's just to make a series of transactions, automatically buying game keys (throwing money into the pool) before the timer runs out.
But like any Ethereum spend-bot, they need to know how much to attach in transaction fees at a given time. If it's too low the transaction might not go through in time and if it's too much it's just plain expensive.
The human player found two main types of bot arrayed against them: the "fast" variety and the "standard" variety. Those names refer to this kind of thing:
Basically the fast bots attach higher fees to their transactions, while the standard bots attach lower fees to theirs. Fees are denominated in Gwei, each of which is a billionth of an Ether.
That 40–50 Ether spent on testing was intended to find out exactly how both of these bot types actually calculate their transaction fees. With that knowledge, the player can then look for a way to outplay them, by buying up all the space on each block in a way that the bots can't respond to.
The bots would naturally adjust to current gas prices in order to keep making their transactions, but after all that testing the player found that they didn't respond accurately to sudden spikes and that both bots would tend to submit transactions at the average price.
The play itself was to keep doing the following:
- Buying gas for about 60% of the space on a block for 15 Gwei.
- Then buying gas for about 35% of the space on a block for 190 Gwei.
- Then buying the rest of the gas, that last 5%, for 500 Gwei.
The first two, with their relatively high transaction fees, would get picked up by miners almost immediately. The bots would then adjust their transaction fees to the new benchmark, of closer to 190 or closer to 15 Gwei in gas depending on whether it's a fast or a standard bot, to get their transaction onto that remaining 5%.
But with the player following it up with a 500 Gwei transaction, neither was enough to go through.
"Now they panicked... a lot, and didn't manage to do this flawlessly," Justo said. "But it did work long enough to trick the bots."
With the bot transactions locked out and the player's transactions going through, they were able to run out the timer and scoop the jackpot. That's $3 million well earned. Now that everyone knows about it, of course, the same trick is unlikely to work again.
Round two has kicked off and so far there's about 1,300ETH in the pool. Only time will tell how this one ends, or if it ever does.
Disclosure: At the time of writing the author holds ETH, IOTA, ICX, VET, XLM, BTC, ADA