“Oracle” is a term in cryptocurrency that is not new, but has become more and more relevant as the decentralized finance (DeFi) space has begun to grow more rapidly.
In cryptocurrency, to be more specific, an oracle provides real-world off-chain data and submits this information to a blockchain to be used by smart contracts. Typically, this is a data feed provided by a third-party service.
To give an example, let’s say you built a betting app on Ethereum that is essentially a smart escrow smart contract. Bob and Alice deposit ETH into this contract and make a bet on specific parameters of the BTC/USD price over the period of one month. Alice says the price at the end of the month will be above $10,000 and Bob says below. They lock ETH into the smart contract and at the end of the month, it automatically disperses the locked funds to the winner.
But wait, how did the smart contract know what the price of BTC/USD was? That information does not live on Ethereum. Usually, a major crypto exchange is used to reference that information, like Coinbase or Binance, and they have APIs that allow people to query that data. How your smart contract gets that information is referred to as the “oracle.”
Decentralized oracles try to achieve trustlessness and deterministic results that rely on cause-and-effect rather than on individual relationships. They seek to achieve these results in the same way a blockchain network does: by distributing trust among many network participants. By leveraging many different data sources, and implementing an oracle system that isn’t controlled by a single entity, decentralized oracle networks have the potential to provide an increased level of security and fairness to smart contracts.