Announcing the OOv3 — The True or False Oracle

Clayton Roche
UMA Project
Published in
4 min readApr 19, 2023

--

Tl;dr–UMA’s Optimistic Oracle V3 (OOv3) is a protocol that incentivizes a worldwide network to validate statements as either true or false. This means developers can use any data source, such as an API or other data feed, and use UMA to both put the data on-chain and publicly guarantee it against manipulation.

The OOv3 also introduces “escalation managers” that enable customized security properties for each integration, giving protocols more flexibility over how disputes are handled.

As part of the OOv3, we have launched a new oracle dapp as well.

Introduction to the Assertion Pattern

Smart contracts and DeFi applications use oracles to get valid information about the world. Optimistic oracles (like UMA) and node-network oracles (like Chainlink) are the two categories of oracles today that help solve this problem.

The OOv3 announced today introduces a new logic pattern for UMA’s optimistic oracle, that of an “assertion pattern.” The previous pattern was “question-and-answer.”

The assertion pattern is a subset exclusive to optimistic oracles

The OOv3 is an optimistic oracle that uses an assertion pattern to verify any kind of data against public information. As with the question-and-answer pattern with UMA’s OOv2, a proposer has “skin in the game” by submitting a bond that serves as a dispute bounty. This bounty can be claimed by anyone who recognizes that the data is incorrect.

UMA’s ecosystem today has a worldwide disputer network of humans and bots. These agents compete with each other to claim dispute bonds, and are the first line of defense against bad data.

Disputes are adjudicated by the Data Verification Mechanism (DVM) and the loser’s bond is partially transferred to the winner. The DVM is only invoked in cases of a dispute, and you can read more about the DVM here in the docs.

What types of assertions can be validated?

An assertion is a statement of fact. These are some examples of data feeds that can be validated by the OOv3:

Macroeconomic data feeds: Indicators such as GDP, CPI, inflation, employment rates, and consumer sentiment.

Financial data feeds: Data on treasury yields, Fed funds rate, LIBOR rate, prime rate, mortgage rates, credit card interest rates, and auto loan rates.

Geographic data feeds: Location data, maps, and geographic information system (GIS) data, which can be used for geospatial analysis.

Energy data feeds: Data on energy consumption, production, and prices, as well as renewable energy data.

Transportation data feeds: Data on traffic patterns and logistics data.

Stock market data feeds: Real-time or historical stock prices, stock market indices, stock options, and other financial market data.

Weather data feeds: Real-time weather forecasts, historical weather data, and climate information.

Social media data feeds: Data from social media platforms such as Twitter, Facebook, and Instagram, which can be used to track consumer sentiment, brand mentions, and other trends.

Healthcare data feeds: Data on healthcare costs, patient outcomes, and healthcare provider performance.

Low-frequency data: Data about one-time events, which an optimistic oracle is uniquely well-suited to validate

The OOv3 can also support proprietary data, which means the sources are not entirely public. This has different implications for validation, and may need a custom security design, which we will explore in the next section on escalation managers.

Escalation Flexibility–OOv3 Expert Mode

The OOv3 introduces the “Full Policy Escalation Manager.” This smart contract is ideal for use cases where the developer wants to have a say in how disputes are handled. It is a good starting point for projects that want to build their own escalation pattern and implement custom logic.

The contract allows developers to whitelist asserters and disputers. It also makes it possible for disputes to eventually be settled by a different token than the $UMA token, such as the protocol’s native token.

These expert-mode settings give developers far more control over how disputes are handled. Escalating to an alternative token other than $UMA, possibly one far exceeding the value of $UMA, enables the oracle to secure unlimited value.

How much does the UMA Oracle cost to use?

There is no usage fee for the OOv3, but there are other costs to consider:

  • Gas costs related to proposing (UMA supports roll-ups and L2s)
  • Bonds, which are returned if your assertions are not disputed
  • Any cost associated with obtaining the input data from APIs

And, if builders wish to have other parties do the proposals rather than themselves:

  • Proposer incentives

How to get started

The OOv3 offers protocols and developers a way to validate any assertion made about publicly knowable information. Along with this, the OOv3 offers developers a flexible dispute management path, which could include an escalation to the protocol’s tokenholders.

One example of custom dispute escalation we expect to see is for some DAOs that use oSnap. oSnap is a governance product that allows DAOs to execute SnapShot results on-chain. If, for example, Sushi were to adopt oSnap, it could use a dispute to UMA’s oracle not as a final resolution of the submission, but instead escalate to the Sushi tokenholders themselves. The result is that the OOv3 can secure unlimited TVL.

We believe that Web3 and DeFi need an uncensorable and permissionless oracle and that the optimistic validation pattern is the only sensible approach to getting there.

If you are a builder, a team member, or an aspiring builder, we suggest getting started with these tutorials:

Build a prediction market that uses the OOv3 for settlement
Build an insurance platform that uses the OOv3 for settlement
Build an arbitrary data asserter

Join our Discord with questions!

--

--