Blockchain oracles are services that provide data feeds to blockchain applications, acting as a bridge between the network and the outside world.
Blockchains are inherently designed as closed systems. This makes them exceptionally secure, but introduces a critical limitation: these networks have no way of retrieving information from the internet or any external databases (including other blockchains). However, smart contracts require this data to function properly.
For example, a synthetic equities platform needs to check the current price of the assets it tracks; a prediction market needs to retrieve the accurate results of elections and sports events; and a lending platform needs accurate asset price feeds to determine whether positions should be liquidated. Providing reliable feeds for such data is the purpose of blockchain oracles. These protocols are capable of retrieving real-world data and transmitting it onchain.
The system is not without its risks: if a smart contract relies on a single source of truth, this also becomes a single point of failure. If the data feed of an oracle is manipulated or polluted with false information, it can undermine any systems relying on it.
Decentralized oracles such as Chainlink aim to solve this problem by aggregating information from a network of independent nodes. This means that no one entity can manipulate the data feed by itself. Validators on these oracle networks receive fees paid by the applications calling the data feeds, providing an incentive for accurate reporting. Although generally safer, there have been past incidents of bad actors using flash loans to manipulate asset price feeds on decentralized oracle networks.
Beyond Chainlink, several other protocols have emerged to provide high-frequency financial data and crosschain communication, such as Band Protocol and Pyth Network.