I was inspired to write this blog post after reading a paper called "[The Oracle Problem] — Why Decentralising Everything is More Difficult than it Sounds" In this post, I'll explain why it's actually "not that difficult" to decentralise everything and how this issue has already been solved with the help of decentralised oracles.
I was inspired to write this blog post after reading a paper called " — Why Decentralising Everything is More Difficult than it Sounds" by Victor Hogrefe.
As the title suggests, Victor argues that there are no good solutions for handling oracles on the blockchain. It may have been true six years ago when the paper was written, so kudos to Victor for proposing some potential ones back then.
However, what struck me the most was that the author failed to consider that the oracles themselves can be decentralized. In this post, I'll explain why it's actually "not that difficult" to decentralize everything and how this issue has already been solved with the help of decentralized oracles.
But first, let's take a small step back and learn what oracles are exactly.
The Role Of Oracles
Smart contracts are designed in a way to provide deterministic results. Their job is to take input, execute logic, and modify the state of the blockchain irreversibly.
But the majority of events still happen off-chain. Allowing smart contracts to interact with these events has always been a double-edged sword. On one hand, this significantly increases the potential blockchain use cases but on the other — poses serious security risks and trust issues.
Oracles are here to help. They act as a bridge between blockchains and the external world and enable smart contracts to execute code based on real-world events and conditions.
For example, to be able to bet on the outcome of a tennis match between Roger Federer and Novak Djokovic, you need a way to tell the smart contract who won. Since we don't live in the Metaverse yet, a smart contract can't know the outcome of the match — someone has to tell it who the winner is, so that the contract can payout to the winners.
The big question is: who will be the one to tell the smart contract who won? We would need to trust this person or entity to be correct and honest... But wait a minute... Trust?
That's not how things work in Web3. We don't want to trust.
We want trustless.
Decentralized Oracles
In the original paper I mentioned in the beginning, the author overlooks the possibility of oracles being decentralized and is rather focused on discussing different algorithmic solutions, weaknesses, and potential attack vectors.
What he doesn't consider is that the oracles themselves can be decentralized. Decentralized oracles, unlike the normal ones, rely on multiple independent nodes to fetch and validate information. This means there's no single point of failure, making it much harder to compromise the system.
By using various mechanisms, such as multiple data sources, multiple oracles, or the need to have a stake in the system, decentralized oracles can prevent different sorts of malicious attacks, data corruption, or bribery. One such mechanism has been implemented by the UMA Protocol.
UMA's Optimistic Oracles
UMA is a leader in the oracles space, alongside Chainlink, which is the largest oracle protocol in the world. UMA's oracle system consists of two main components: the Optimistic Oracle and the Data Verification Mechanism (DVM).
The principle is straightforward: anyone can submit an answer on-chain, and a dispute arises only if the answer is incorrect.
The first layer of UMA's oracle system is the Optimistic Oracle. This layer is designed to quickly verify data optimistically, meaning that all submitted statements are true by default unless challenged.
The second layer is the DVM (Data Verification Mechanism), which serves as a fallback for the Optimistic Oracle by resolving disputes if they occur.
The entire system is efficient and cheap because it aims to prevent disputes in the first place. Here’s how it works:
A smart contract requests a piece of data and sets a dispute period.
A proposer posts a bond and submits the data.
If no one disputes the data within the dispute period, the data is finalized, and the proposer gets their bond back.
If a dispute arises, the disputer posts a bond equal to the proposer’s bond and escalates the dispute to the DVM.
UMA token holders resolve the dispute within 48 hours. If the disputer is correct, they receive the proposer's bond as a reward, and vice versa.
Use Cases
Apart from the obvious use cases for oracles in DeFi, UMA's optimistic oracles offer much more flexibility, as practically anything can be submitted as a data point.
Here are some projects that utilize UMA's Optimistic Oracles:
Polymarket
Polymarket is a decentralized predictions market, one of the most prominent DeFi apps lately. On Polymarket, you can place your bets on pretty much anything — from the winner of the Presidential Elections in 2024 to how many tweets Elon Musk will post this month
Sherlock
Sherlock is a risk management platform designed for DeFi. They run extensive DeFi audit contests where many security researchers compete for a bug bounty.
Cozy
Cosy is an open-source insurance protocol that allows users to provide and receive protection against predefined conditions, like a loss of funds or smart contract hacks.
The use cases are quite diverse already and with the upcoming RWA narrative, the amount of projects using UMA's OOs will only get bigger.
RWA Tokenization
RWA tokenization is one of the most promising opportunities in crypto. It has the potential to unlock multi-trillion dollar markets and onboard millions of people into DeFi. Major institutions are launching tokenized funds, and the role of Oracles in this market is as important as it's ever been.
Blackrock's BUIDL fund uses Chainlink to track real-world assets like US Treasury bill prices, dollar yields, etc. It allows investors to purchase tokens representing shares in the fund with "safe" assets and offers unmatched liquidity.
As the sector grows, the demand for fast and accurate Oracle infrastructure and reliable data will grow significantly. Protocols like Chainlink, UMA, and Pyth are well-positioned to capture the majority of this market share.
Conclusion
We brought smart contracts to the world; now, it's time to bring the world into smart contracts. Allowing smart contracts to interact with the outside world seems like the next logical step in blockchain development.
While DeFi remains one of the most promising and straightforward ways to onboard the next billion users, there are many ways in which oracles can be used: they can provide real-world data for various applications, from financial products and insurance to gaming and supply chain management.
Decentralized oracles ensure that this data is accurate and trustworthy without relying on a single point of failure, opening a world of new possibilities for the technology.