With the rise of blockchain technology, more and more use cases are being built leveraging on this new decentralized technology. However, all blockchains suffer from a problem known as the “Oracle problem”.
To understand what the Oracle Problem is, one has to understand that while most blockchains have native cryptocurrencies that are used for its peer to peer transfer value, blockchain technology can also be used to execute smart contracts.
These smart contracts executes a predetermined action when certain conditions are met. Once these conditions are verified, the contract is executed and this process is immutable and tamper proof. The problem however, comes with deciding the “authenticity” of these conditions or input sources.
For example, lets say there is a smart contract programmed to pay out X ETH to a user when the price hits Y. For this smart contract, the first portion (pay X ETH) is immutable and will always be true once it is programmed.
However, the price Y is dependent on a third party input source, which may be tempered with. How would the smart contract verify the authencity of the price Y? Price Y would also typically rely on a third party centralized input source, which is susceptible to price manipulation.
Another problem is that, smart contracts on their own have no access to the external real world data they need to execute their contracts, and these world data may include market data, events data, retail payments, bank payments, and more.
Hence this gives rise to the need for Oracles, which are intermediaries which collects and feeds these “offchain data” or real world data from third party APIs or data sources onto the different blockchains.
In simpler term, Oracles are nodes on the blockchain network that acts as a bridge between onchain and offchain data, by enabling smart contracts to retrieve data from the outside world.
Currently, the use cases for oracles are mostly confined towards price feeds as the majority of smart contracts are currently used for tokenization. Hence most of the oracles with high usage and adoption are price feeds related oracles such as Chainlink.
Centralized and Decentralized Oracles
There are two types of Oracles – centralized and decentralized oracles.
Centralized oracles are provided and launched by a single entity and these entities are the data provider for the smart contract. The risk of centralized oracles is that the user would have to trust that the entity do not provide bias data sources to their users. Among the popular centralized oracles is the Coinbase Price Oracle, which uses Coinbase Pro’s API as the data source.
Decentralized oracles on the other hand, leverages on multiple external sources to increase the credibility of the data provided to the smart contracts.
Decentralized oracles lick Chainlink have mechanisms in place to discourage the sources from providing inaccurate data – for example, a node with unreliable data will no longer be selected as the input source in the future and they will lose all future revenue from the protocol.
This is possible because decentralized oracles usually have native tokens and data provider will earn a fee when there is a data request.
On top of that, Chainlink also has conditions binded onto their data provider where they have to stake Chainlink’s native token into the oracles they are involved in. If there is data inaccuracy, the data provider will be punished by having their tokens slashed, and hence they will be discouraged to misbehave.
Here’s an example of all the sources for the Chainlink ETH price feed:
From this you can see that Chainlink aggregates the latest ETH price from 31 sources and provides the most “trusted” output to the user. Each of these 31 sources will earn a % of the transaction fee for this price request.
Chainlink provides feeds for 55 trading pairs, including 30 fiat pairs. At least $2.5B are locked values in crypto assets, which are referencing to Chainlink price oracles.
Other than Chainlink, here are some other popular oracles:
Who is using oracles now
As previously mentioned, the use case of oracles are mostly limited to price feeds now as most of the smart contracts on all blockchains are used for tokenization.
Open lending and borrowing protocols such as MakerDAO, Aave and Compound uses oracles to power their prices while running on the Ethereum blockchain.
MakerDAO for example, also use oracles to determine the real time price of real world assets.
Celcius, a cryptocurrency interest income platform is also using Chainlink as their oracle for getting the most trusted price feed.
Quick Facts About Chainlink
Currently the most used oracle is Chainlink due to its first mover advantage. Here are some quick figures on Chainlink:
- Over 500+ project partners
2. Chainlink supports any blockchain. LINK was created as an Ethereum token but the Chainlink network can serve data to any platform.
3. Chainlink network usage:
4. Chainlink is currently working with SWIFT, the global standard in interbank messaging. SWIFT is used by more than 11,000 financial institutions in more than 200 countries and territories, with over 32 million messages moving trillions of dollars each day.
The growth of DeFi over the past few months has also catapulted the use case for Oracles and as the DeFi space continue to grow, along with more real world use cases of the blockchain technology, we expect to see more oracles launched over the next few years.
Over at Chain Debrief, we will be taking a closer look at the network usage and various comparisons of the different oracles in future articles.
Editor’s Note: Chain Debrief provides the latest industry news and on chain analysis for major cryptocurrencies in the world. We are looking for contributors and team members to join us. Do write in to [email protected] to find out more.
Also Read: An Introduction To Ethereum Layer 2 Scaling Solutions