Many blockchain applications require interactions with external data, both real-world and off-chain. This data can represent anything from scores of real-life sports competitions to weather conditions.
But blockchains cannot access external data. They are intentionally designed as closed systems to enable secure, reliable, and tamper-proof transactions. This is where a blockchain oracle comes into play. It is an application that connects extrinsic data with blockchain networks.
Types of oracles
First of all, oracles can work in two directions. Inbound (or input) oracles pull external data and feed them into smart contracts. Outbound (or output) oracles work in the opposite direction; they push events that take place on the blockchain to the outside world.
Oracles can also be classified as hardware and software oracles. Hardware oracles transfer data from the physical world. They can be applied, for example, in supply chain operations, to read data from RFID or NFC tags. Software oracles send off-chain, but still digital, data to smart contracts. In other words, we can use oracles to pull data from websites, servers, or online databases. An application area is, for instance, using prices of financial assets to place buy or send orders in crypto exchanges.
The oracle problem
We can also group oracles as centralized and decentralized. A centralized oracle is one that is controlled by one single entity. Since this type of oracle depends on only one source, the operations can be very fast. However, centralized oracles can suffer from a lack of accuracy and unavailability due to server breakdowns.
Such issues that can arise from using centralized oracles to bridge external resources with on-chain networks are commonly referred to as the blockchain’s oracle problem.
That’s why, just like we need a decentralized web3 for a reliable, tamper-proof, and censorship-resistant internet, the oracles that we use to connect the outside world with the blockchain must also be decentralized. Otherwise, we risk relying on inaccurate and biased data.
A decentralized oracle uses multiple data sources from a distributed peer-to-peer network that builds consensus on the external data before sending it to the blockchain. So, they facilitate higher levels of security and accuracy.
Decentralized blockchain oracle projects
The most popular blockchain oracle solution is Chainlink. At the time of writing this article, the project’s native cryptocurrency, Link, is the number one oracle coin with a market cap of $3.7B per Coingecko data. Crypto companies can use Chainlink solutions to connect their smart contract data on any blockchain with price data, payment providers, medical data, verifiable randomness, automation functions, or external APIs.
Other top blockchain oracle solutions by market cap include UMA, which enables oracle integrations for incentive-aligned liquidity mining and DAO fundraising, and API3, which provides beacons as data feeds to increase transparency and airnodes middleware to connect web APIs to any blockchain application.
Use cases of blockchain oracles
Many industry pioneers collaborate with Chainlink. The partnerships are particularly common for connecting oracles to build dynamic NFTs. For instance, the play-to-earn card-collecting game Aavegotchi uses Chainlink’s oracle service to distribute rare attributes to existing NFT avatars. Another blockchain game, Polychain Monsters, uses the same technology to prove the randomness of its NFT pack distributions.
Another application area is decentralized weather coverage. The data-driven climate risk ecosystem Arbol uses blockchain oracles to pull data from rainfall datasets from the National Oceanic and Atmospheric Administration, for example.
The information markets platform Polymarket uses Uma’s oracles to push the answers of bets on-chain in order to accurately distribute rewards to the winning members.
Incorporating off-chain price feeds into DeFi protocols is another common use case of oracles. For example, Trader Joe integrates off-chain price data into its lending platform on Avalanche. As a result, issuing secure and scalable loans at accurate market prices becomes possible.