Mid Level Reading
16 Aug, 2023


An oracle acts as an agent that discovers and verifies information, bridging the gap between the blockchain and the real world by providing data to smart contracts for execution under predefined conditions.

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.

Bridging Conventional

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.