Oracles were invented to address a serious limitation of blockchain-based applications.
Suppose you wanted to trigger crypto sales and purchases based on changes in the price of gold or the Standard & Poor 500. The smart contract for such an application would be simple to write except for one thing: The prices of gold and the S&P 500 are not on the blockchain. Your app has no way to access or verify those prices.
Or suppose you wanted to convert fiat currency into crypto funds or vice versa based on the results of an election. How does your smart contract know who won the election? How can you be sure the results are reported accurately, not manipulated for someone else’s benefit?
That’s where the blockchain oracle comes in. An oracle is a protocol or service for transferring verified, reliable information to the blockchain so it can be used in applications. Oracles bridge the gap between the outside world and the blockchain that hosts decentralized financial applications and crypto transactions.
For example, an oracle might gather real-time stock prices from the New York Stock Exchange and make the data available to smart contracts.
Oracles typically use consensus mechanisms for verifying data sources. At Chainlink, for example, validator nodes stake the oracle’s LINK token to obtain data contracts and validate off-chain information. It is analogous to the Proof of Stake consensus mechanism that blockchains use to validate transactions.
In addition to institutional data streams, oracles can import data from hardware devices such as anti-tampering sensors or thermometers. A DeFi application that monitors grocery supply chains might use an oracle to import data from barcode scanners, for instance.
Among the crypto world’s leading services and platforms that meet the oracle definition are Chainlink, Band Protocol, Bridge, Oracle, Next Protocol, Tellor, DIA Association, Dos Network, and JustLink.