We Planted 1,316 Trees to Show Off UMA’s Optimistic Oracle
Tl;dr — Last month UMA debuted what we believe to be the first derivative token based on a Twitter metric. This program was designed to plant a tree by donating $1 for each time a specific tweet was retweeted. This article will explain how this was possible, and why this functionality is critical to Web3.
One Tree Planted per Retweet
Last month we created an asset that would pay out based off of a metric on Twitter. The premise was that each time a particular tweet thread was “retweeted” by other users, the value of the payout would increase by $1. This payout was custodied by The Giving Block, and would be given over to One Tree Planted, which is a registered charity able to demonstrate a tree planted for each dollar donated.
The contract design specified that the tokens would mature at the end of March, and be redeemable for USDC collateral of a quantity equal to the number of retweets of this tweet:
But how could the number of retweets be put on-chain trustlessly?
The Optimistic Oracle
In early DeFi, v1 oracles were price-feed oracles that serviced “fast defi” applications: ones that required a price feed on a recurring basis and could work with atomic transactions such as flash loans.
How does UMA’s OO work? A contract requests a piece of data, and anyone can earn a reward by proposing what that data is. Usually, this is a bot. This proposal is bonded, which means that being wrong is costly.
So how do we find out when someone is wrong? There is a dispute window in which anyone else can post their own bond and dispute the data. At this point, the request is escalated to a voting round by UMA tokenholders. They have 24 hours in which to vote on the outcome they believe was correct. They are well incentivized to be right, as the token value is derived from the oracle being accurate.
Disputes are diminishingly rare, as the game theory would predict.
The tree-planting campaign was a charming demonstration of the following qualities:
The oracle was needed only once: to be asked “How many retweets did the tweet at URL have at expiry?” We first wrote a parameterization document to codify how tokenholders could evaluate this request.
Price-feed oracles require a stream of data and have liquidity requirements, otherwise they are vulnerable to manipulation. Registering such a feed is costly, and is designed to answer the same question every five minutes.
Instead, an OO lets financial engineers ask the oracle different questions every time. This is what is meant by a flexible oracle.
The OO also protects users against manipulation of the external data feed, since incorrect data can be disputed. This is a unique feature for an oracle, as other oracle solutions are only as secure as their data feed.
If Risk Labs tried to lie about the number of retweets, anyone in the world could earn money by disputing it.
The OO is a game changer because it provides flexible, unique dispute resolution involving any kind of question or data with human input, as compared to price feed oracles, which can only push regular price updates onto chains. The OO can be plugged into any type of DeFi or Web3 protocol.
Get Involved and Earn
The combination of recourse and flexibility is what allows a cross-chain bridge, a prediction market, and an insurance protocol to all be secured by UMA’s optimistic oracle.
Get involved by joining the UMA DAO’s discord community. It is there that vote disputes are discussed. $UMA tokenholders can vote on disputes and earn a portion of the voting rewards. Gas costs are rebated monthly in $UMA tokens.
You can find the current requests, proposals, and disputes at oracle.umaproject.org.