Oracles: Do they tell the future?
*NB None of the views expressed here are representative of New Finance Ventures or Mike Kelly. No mention of any app or protocol is an endorsement.
No, I am afraid not. They do some interesting things though.
So just what is an oracle?
An oracle is a way for smart-contracts and protocols in the blockchain space to take information that is off-chain and in a trustless way reliably bring it on-chain. A well-designed oracle is decentralized in its design and also takes in data from multiple sources rather than one source of truth.
Oracles are able to present key information such as;
- prices of assets (financial markets, real-world assets, insurance, gaming & NFTs)
- results/outcomes of events (such as elections, sporting events), for betting markets
A simple example would be for the price of Eth.
An on-chain decentralized trading platform (e.g DYDX) needs to present the price of ETH. An oracle would take the price from multiple off-chain sources, such as Coinbase, Kraken, Etoro, Robinhood, etc. They would then collate all these prices and take the average. This price is then presented to DYDX as the price of ETH.
How Oracles Work
An overview of the typical mechanics of oracle tokens (for the sake of simplicity I have kept this high-level):
The oracle protocol will issue a native token, such as $LINK for Chainlink. A portion of the tokens are kept back for team members, early backers, community incentives, and protocol development.
Once distributed, nodes will use the token as collateral to be part of the network securing data. By staking these tokens, a node operator is essentially guaranteeing the data they are providing. The greater the value staked by a node the more trustworthy that node is deemed by the network. This is because if the data is consistently wrong the node is punished, having a penalty issued against their collateral, known as ‘slashing’. This is logical because if you are providing data for contracts with large values, the nodes providing this data must have sufficiently large collateral staked to incentivize them to provide accurate data & not collude to provide false information. The punishment has to be worse than the crime.
On the other side of this equation, protocols needing data feeds will use the native oracle token to pay for data requests.
E.g Synthetix want the price of $Tesla. They will send a data request with a payment of $LINK to smart contract, this request will be serviced by multiple nodes who collect the data. They can collect this data either from one source, or multiple, using API access. In the Synthetix example used earlier, the price of Tesla may be aggregated from Bloomberg, Reuters, and exchange APIs. This data is then aggregated off-chain, agreed upon, and cryptographically signed and submitted to a smart contract on-chain. This price feed is then submitted to the protocol who can be confident that the data has not been tampered with. Node operators will be paid in $LINK and so create income from staking the token and then sourcing data.
These tokens can also operate as governance tokens, with the exception of Chainlink. Chainlink has no inbuilt governance. BAND and DIA allow the holders to vote on proposals to change/improve the protocol, as well as to propose these changes themselves. Usually 1 token = 1 vote.
Here is a diagram of how this process may look:
You can also check out some of Chainlinks data feeds here:
Here is the ETH price feed for example:
Oracles, wider use cases, and their place in the ecosystem
Oracles play a vital role in the developing DeFi and wider-crypto ecosystem. They allow smart-contracts and protocols a much wider range of possible applications by bringing access to external asset data.
Platforms like Nexus Mutual can use them for insurance protocols, Augur for betting markets. Other options included lending/collateral platforms such as AAVE or Alchemix. You would be able to deposit new assets to generate yield or borrow against it as collateral and the oracle is able to provide a decentralised price feed for these assets.
If you are able to tokenize CRE data, for example, you hold an index token or partial ownership of a property you could deposit this token on AAVE and then be able to borrow against it. Initially, you would expect LTV to be low, say 25%, but as the concept is proven out and time passes, the platform would be able to extend greater lines of credit.
For Alchemix there could be the angle of bespoke solutions where you borrow against the future yield from a rental portfolio.
Insurance protocols such as Nexus Mutual and Armor make for interesting partnerships. The initial obvious use is to provide insurance against smart-contract risk but equally, there are new interesting use-cases such as providing insurance against a CRE portfolio, where the oracle supplies regular price updates against the portfolio for the insurance contract.
Many other Real World Assets (RWA) could benefit from being accessible to DeFi. Part of DeFi’s primary goal is to improve accessibility, liquidity and decentralization to products. Many collectibles would fit the bill, and both high-net-worth and ‘average’ people would benefit from increased liquidity in these markets.
Some products that come to mind are; art (not NFTs), collectible cars & investment wine. Most people go to the use case of fractionalization, however that has its issues. Price indices and also collateralization opportunities would be interesting. If you were able to go ‘long’ on a price index of Ferrari F355s or particular wines, as an example. Or post the deed/title of ownership and use this as collateral to borrow against the asset, such as 25% against the value of the wine.
Another area yet to be solved would be mortgages & home equity loans. If you are able to provide accurate and trusted data, this is a large step forward in making lenders comfortable with dealing on-chain. However, there are questions around securing the assets in the event of a default that are yet to be answered. Oracle pricing can provide one part of the answer by providing trusted price updates for these RWA.
These bridges of information are not perfect and there are weaknesses. They are only as good as the information being presented to them, so if collusion happened across major exchanges for example then the prices being reported would be inaccurate. Depending on the incentives and the costs, sybill resistance is not guaranteed and anonymous actors could take control of multiple nodes and submit faulty data.
This is an introduction to oracles and demonstrates how they currently work in principle and how they are an essential part of the crypto ecosystem.
Oracles can continue to unlock value and open up new opportunities in the space, but they are not without complexity or challenges!
P.S Some useful links :)