An oracle is a service that brings off-chain data to smart contracts. Blockchains are closed systems by design. A contract cannot check the weather, a stock price, or a sports score on its own. The oracle fetches that data, checks it, and posts it on-chain. Contracts then read it.
Chainlink is the largest oracle network. It runs thousands of nodes that fetch price feeds, weather, scores, and randomness. Each node fetches independently and posts. The network agrees on a value. That design limits the damage from one bad or captured node. A contract that needs the price of Ethereum queries the oracle.
The oracle pulls prices from multiple exchanges, agrees on a number, and reports it. Lending protocols need collateral value to liquidate. Exchanges need fair prices. Insurance needs to know whether an event happened. Without oracles, contracts are isolated and cannot price the world. The oracle then becomes a trusted middleman.
You removed the exchange as a single point of failure and added the oracle. If the feed is wrong, the contract executes on bad data. Oracle design is a security problem, not a convenience feature. The network comes to consensus on what the data is. This decentralization protects against a single oracle being wrong or compromised. This is required for DeFi.
Exchanges need price feeds to execute trades fairly. Insurance protocols need to know if events occur. You're removing one source of centralization (the exchange) but adding another (the oracle). Chainlink's explainer: contracts cannot fetch URLs. An oracle network posts prices and other off-chain data on-chain.
Oracle Networks
Interactive visualization of how oracles bring external data to blockchain smart contracts
Click data types to see different oracle feeds. Start the flow to watch how external data moves through oracle nodes onto the blockchain for smart contracts to use.