What are blockchain oracles?
Updated: Apr 14
Every single blockchain is a sort of standalone system.
Thanks to cross-chain bridges, we can link two different networks into relation and communication. But in order to obtain data, a blockchain should interact with external systems; for this reason, we need an oracle.
Let’s dive together into the world of blockchain oracles!
Definition of blockchain oracles
According to Chainlink:
“A blockchain oracle is a secure piece of middleware that facilitates communication between blockchains and any off-chain system, including data providers, web APIs, enterprise backends, cloud providers, IoT devices, e-signatures, payment systems, other blockchains, and more.”
What is an oracle for crypto?
Oracles are data feeds that bring off-chain data sources and put them on-chain for smart contracts.
An oracle is an entity/service that connects blockchains to external systems, enabling smart contracts to execute based on inputs and outputs from the real world. Is a sort of universal gateway to off-chain resources that can interact with external data. They act like an application programming interface (API) to the world outside of the blockchain.
The DONs -an acronym for Decentralized Oracle Networks- enable the creation of hybrid smart contracts, where on-chain code and off-chain infrastructure are combined to develop advanced dApps that interact with the traditional system and the real world.
An oracle performs several functions:
Listen – monitor the blockchain to check smart contract requests for off-chain data;
Extract – recover data from external systems (as off-chain APIs, for example);
Format – format data retrieved from external systems into a blockchain readable format;
Validate – generate a cryptographic proof attesting to the performance of an oracle service;
Compute – perform some secure off-chain computation for the smart contract;
Broadcast – sign a transaction on the blockchain to send data and any proof on-chain for consumption by the smart contract.
All these functions simultaneously perform on-chain and off-chain by the oracle.
This video explains in a detailed manner what a blockchain oracle is.
The oracle problem and Chainlink
Oracles thus become an essential aspect of Web3 and blockchain. However, when we use them, how can we be sure that the injected information has been extracted from the correct source, and has not been tampered with or updated regularly?
The so-called “oracle problem” demonstrates the issues of using oracles to send inputs to smart contracts, which could sometimes be incorrect or produce wrong outcomes. It is really important to use a “trust” oracle operator to receive accurate information, and it’s also advisable to use a decentralized one.
Chainlink is a decentralized oracle network built on Ethereum that provides real-world data to the blockchain. Smart contracts evaluate information and automatically execute when certain conditions are met. The native coin of Chainlink is called LINK and it is used to pay for all the services on the network.
Types of oracles
Blockchain oracles verify and authenticate external data that transmit to smart contracts.
There are many types of oracles that are used today:
Blockchain oracles use cases
Oracles play a vital role in various use cases, including insurance, NFTs, DeFi, and cross-chain services.
In insurance, oracles can provide valuable information such as weather updates and flight delays that can be utilized in insurance products. For instance, Ethersic offers crop and flight delay insurance products that leverage oracles to obtain weather and flight status information, which is used to validate automatic claim payments.
NFTs can also benefit from oracles, particularly in creating a verifiable randomness function (VRF). By using oracles, the rarity of NFTs can be randomly assigned during minting. For example, Aavegotchi employs VRF to ensure the randomness of attributes for its NFT avatars.
Oracles are also widely used in DeFi to retrieve financial data such as market prices of various assets to be used in smart contracts. This data is essential in calculating a user's borrowing capacity and collateralization level. AAVE, a DeFi platform, uses price feed oracles to obtain asset prices for use in its smart contracts.
Moreover, oracles can solve the interoperability challenges between different blockchains, which enables cross-chain applications and services. Oracles can transmit data between blockchains, making it easier to build cross-chain yield harvesting, cross-chain collateralized loans, and low-cost transaction computation.
Top 5 Blockchain Oracles
1. Chainlink: Chainlink is currently the largest and most popular decentralized oracle network. It provides reliable and secure real-world data to smart contracts on the blockchain.
2. Band Protocol: Band Protocol is a decentralized oracle platform that allows developers to create custom oracle scripts to query data from various sources.
3. API3: API3 is a decentralized oracle network that aims to provide secure and decentralized data feeds for smart contracts.
4. Tellor: Tellor is an open-source decentralized oracle network that leverages a network of staked miners to provide secure and reliable data to smart contracts.
5. DIA: DIA is a decentralized oracle platform that sources and verifies data from various sources, including traditional financial markets, social media, and online communities.
Oracles play a crucial role in smart contract execution providing external data. Always remember that they operate on the web- as the entire industry and DeFi sector in general- so they could also be hacked. In general, when considering the employment of an oracle, you need to use a trusted one.