What Are Oracles?
Oracles are entities that interface real-world data with decentralized systems.
In the decentralized environment, oracles are prominent with blockchain-based products.
They give blockchains the ability to interact with off-chain data.
With Ethereum and other decentralized platforms powering the use of smart contracts, accessing data outside these systems bridges the conventional and decentralized environment.
Note that oracles are not data sources by themselves.
Instead, they collect, query, verify, and validate data from different sources and deliver them to smart contracts.
Transferring Diverse Information to Smart Contracts
Transmitted data can range from price feeds, payments, temperature from a sensor, scores from a football game, etc.
Mostly, oracles are classified based on where they draw their data (software/hardware), the flow of information between them and their sources (inbound/outbound), and whether they’re decentralized or centralized.
Types of Oracles
Inbound oracles deliver off-chain data to smart contracts while their outbound counterparts relay information from contracts to the real world.
Oracles that rely on a single data provider are centralized while those that interact with multiple sources are considered decentralized.
Although multiple contracts and decentralized systems can reference one oracle, contract-specific oracles are built to serve a single, smart contract.
Individuals with unique subject knowledge can fetch, verify, and validate data for use by blockchain-based agreements.
These are known as human oracles.