Using REX to Hijack EOS

Fred Krueger
Nov 10, 2019 · 5 min read

The entire EOS network is clogged from a single app, EIDOS Airdrop Miner, promoted by a number of Chinese wallets, in particular, by Token Pocket. Up until a week ago not a single person in the EOS community had heard of EIDOS. How the hell did this happen to a Blockchain worth 3 Billion, with over 75% of all Blockchain traffic on it?

Step 1: Setting up the attack with REX

In order to pull this off, the EIDOS spammers needed to avail themselves of the resources of the EOS Blockchain. Fortunately, since May 2019, these resources could be “rented” on a built in EOSIO exchange called REX.

REX works by locking up your tokens for 30 days. Up until November 1, there was not a huge demand for these resources. Why should there be? The amount of active users and apps was fairly stable (some would say declining) since the beginning of the year. But here is the key fact:

The price to borrow 1 million EOS for 30 days was (as of 10/31) just 278 EOS

Let’s put that in perspective. 278 EOS per month equals 3,336 EOS per Year. That’s an interest rate of just 0.3% annually. Hardly enough of an interest rate to entice investors into a token that can move 10% on a single day.

Now 1 million EOS is not cool. What’s really cool is 60 Million EOS, or 6 percent of the entire EOS token supply.

60 Million EOS were rented ahead of the latest ENUVIO attack, on Oct 31. These expire in 22/23 Days from now — on December 1. Again. This was not a massively expensive thing. On October 31 you could do this for 16,000 EOS or just over $58,000.

In addition to the (up to) 60 Million EOS, the EIDOS team recruited several large token holders to start staking CPU directly. As Coinbase’s research team noted (https://blog.coinbase.com/eos-enters-congestion-mode-due-to-eidos-airdrop-3d3f82081074), this became a pattern on Nov1.

This had an immediate effect on CPU price. The annual rate of interest went from 0.3% to 8% overnight. Moreover all the available REX pool was borrowed meaning that there was no way to borrow, even at the 25x higher rates.

Source: EOS Titan

Step 2: Implementing the attack with the EIDOS Mining App.

At this point the EIDOS attackers knew full well that they had secured a very substantial percentage of all the EOS resources, at a relatively low cost. The next step is to use Token Pocket and other wallets to start the wholesale clogging of the network.

On November 1, Token Pocket tweeted that they are supporting the EIDOS airdrop mining tool in their highly popular Chinese wallet.

Of course, they and other wallets and participants knew that this would cause a run on the bank in terms of CPU and loaded up ahead of time.

At exactly the same time, this highly coordinated attack listed this new token on several exchanges, and hatched the plan to distribute the mining app. Immediately, CPU rates shot up, and 2K distressed users and apps hit the REX exchange.

The lessons.

Ironically, the initial goal of REX was (per Dan Larimer: https://medium.com/@bytemaster/proposal-for-eos-resource-renting-rent-distribution-9afe8fb3883a)

to provides significantly lower price volatility and more predictable user experience.

That didn’t happen. What happened was normal users were frozen out of being able to do even simple token transfers. This is a design flaw. The idea that a single app can control 95% of all system resources and effectively shut out all users with less than $100 staked is not a feature.

Some observers in this debacle are hoping that this will drive up demand for the EOS token as people are forced to stake. That unfortunately may not happen, because both users and apps are going to take a hard look at alternative chains like Telos, EuropeChain, WAX and our own LynxChain launching soon.

You can’t hold a gun to people’s head and force them to cough up money to transact. And yes, token pocket and a few wallets are subsidizing CPU for this cycle, but if these costs continue they will not be able to cover it going forward.

How will Lynx handle things?

We’re getting asked this a lot, and its still early, but I will say a few things.

First, an app like EIDOS would not be allowed on LynxChain, or at least not allowed to cripple the system like it has over the last 7 days. Like EuropeChain, ours is a permissioned system. Bad actors get removed.

Second, we view that basic token transfers, basic account creation, and basic apps should always work. Enough CPU should be allocated to those. No single app should be allowed to hog things like EIDOS. Not even an app like “Spotify for Blockchain” but certainly not EIDOS.

Third, we need to be able to respond quickly to these situations. The 21 BPs as of now have said nothing on EOS. This needs to change.

Fred Krueger

Written by

More From Medium

More from Fred Krueger

More from Fred Krueger

The Fiat-to-Crypto On+Off Ramps

Also tagged Blockchain

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade