Return to site

A Case for Invalid Token Trading

Why an Invalid token for each market is the best solution


Invalid markets have been plaguing the Augur platform in the past few weeks, and users have rightfully criticized the platform for it's inability to combat Poyo's using the validity bond. As of current writing, the bond is set to 0.0392 ETH, which is far too low. Users have complained numerous times about validity, even suggesting Veil as a possible alternative since their platform considers itself to be a strong signal for valid markets. Enter v2, which will include the ability to trade on the Invalid outcome for every market. This post explains why this is a good solution for validity, and why other solutions are arguably less effective than than trading invalid.

Current Problems With Validity Bonds

Validity bonds were expected to be a solution to disincentivize attackers from forming invalid markets. The idea is simple, a market-creator places a bond that is returned in full after a market resolves to a state that is not invalid. Sounds good right?

Here is the attack:

Let's call the malicious user Poyo. Poyo sees Everton and Liverpool are playing on August 10, 2019. Poyo also notices something interesting, that Everton and Liverpool's ladies teams are also playing the same day, except 3 hours earlier. Poyo creates a market called "Everton vs Liverpool, August 10, 2019" with a resolution at August 12, 2019, and a validity bond of just 0.03 ETH and waits. August 10 rolls around and Poyo learns Everton ladies have won. Poyo purrs because it is very likely Liverpool's mens team will beat Everton. Poyo creates sell orders of 10 shares of Liverpool on his market at a price of 60%.

Poyo has created a market that looks like an information arbitrage opportunity. All the news says Liverpool are at 80% to win, so users immediately snap of the 10 shares! Liverpool wins, but the market resolves to invalid. What has Poyo gained? Well, Poyo paid just 0.03 Eth in validity bond that he will lose. Poyo sold 10 shares of Liverpool at 60%, but because the market resolved invalid, all tokens will be at an even split of 50%. Poyo has won 0.1 * 10 = 1 ETH since he receives .1 for each Liverpool token he sold! If no one bought his shares, Poyo would have lost only the validity bond, but what he engineered was a social hack: smart users immediately want to make up the information arbitrage, so they get excited that there is opportunity and are less likely to fully vet the market.

Any time there is an ambiguous opportunity, a Poyo can strike and make far more than the validity bond. On top of this there is a bug with the validity bond that has made it extremely low. In short: Validity is broken.

Proposed Solutions

In the planning of v2, the Augur team discussed two solutions. Solution A was to form a variable validity bond set by the market-creator. Users who like valid markets would be attracted to markets with a validity bond set very high. For example, two markets predicting the same outcome where one has a validity bond of 10 ETH should easily outpace a market with just 1 ETH because users should feel more secure. Awesome!

Another presented option is to only fix the validity bond to go up faster and go down slower. This is a planned fix that will likely go into Augur v2. As users add invalid markets, in future weeks the validity bond would begin to spike, and push Poyos off the platform. What could go wrong?

To start, the option to set a variable validity bond focuses markets merely on market creators who have the funds to stake to do so. Someone with just 1 ETH could not engage and make a market. Does it make it more secure? Yes. Is it unfortunate that the user could not make the market? Also yes. The next option to fix the validity bond also focuses markets on users who have the funds, but also during times of low validity bond encourages users to make ambiguous markets. Given that there is such a high volume of invalid markets, it's fair to assume Poyos will just flood back during low bond times.

Both cases also fail when considering timing. They are both extremely slow ways to signal to users validity. Assuming bond validity is low in both cases, it will take 2 rounds of dispute just to signal Invalid to users after the market finishes it's reporting phase. This could be weeks before a malicious market is identified as such by Augur. Is there a better way?

The Invalid Token

The Invalid Token is a simple solution that fixes the problem and provides positive externalities for all users. In this situation, for every market, there is a market for the Invalid token which trades in percent, which pays out 1 ETH if the market finalizes as Invalid and 0 otherwise. Market creators still must pay a bond for validity, and should lose if their markets are invalid, but the token is a new way to signal validity beyond just the market definition. What are the benefits?

First, a market creator can make their own validity bond by selling the token as "insurance". When creating the market, a market maker can short the invalid token at 5%. This gives not only a stake in the validity, but provides an opportunity to make money on the validity on the market. Users with any amount of stake can make these orders, and markets without any tradable Invalid tokens for sale should shy away. Users who do trade can simply buy this token as insurance and hedge their trade. In the event of Invalid, a user can actually make back their losses, or even profit.

Second, the price is an obvious signal to potential traders. Users who spot a market that is invalid will begin buying Invalid, driving the price up. If there are no invalid tokens for sale, orders can be placed. A market with invalid buyers above 10% is a strong signal that something is wrong, and can easily be verified in the application.

Third, this provides a new market to emerge of users who simply want to sell insurance. Much like users who trade closed markets at low percentages to make arbitrage for other users who want to close their positions now, validity traders can do research on markets and provide their own "insurance" for markets that they themselves vet. A validity bond by the market creator is one thing. A validity bond by a different users is even better. These users can emerge shorting the Invalid token for percentages, and make a healthy 5-2% for any market they identify is valid. Rational traders who want to hedge their positions can take this insurance opportunity and rest knowing if the market is invalid, they will be covered.

Final Thoughts

Validity is a big issue, and has even prompted competitors to deliver their own version of Augur with markets which they "guarantee" are valid based on their own third-party claims. With the addition of an Invalid token, I'm not sure if a third-party middle man will be needed, as any user can emerge who only check validity on the platform. While Poyos will always exist, the invalid token proposes a free-market solution to incentivize anyone to act as a validator, which is far more open and more secure than a third-party.

All Posts

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!