What is an Oracle?

What is an Oracle? - smart contract blockchain 1024x683An "oracle" is a tool that sends data from the outside world, such as the daily temperature or the number of votes received by a political candidate, to a blockchain like Ethereum. A smart contract on the blockchain can then use this data usually to make a decision on whether or not to disburse money and to whom.

To take a more concrete example: farmers sometimes buy agricultural derivatives that provide insurance in case drought affects crops too much. If the weather was not favorable for a season, the derivative would pay a lump sum to make up for the losses.

An oracle helps an Ethereum smart contract to automatically execute this sequence of tasks. Smart contracts are tools made possible by blockchains like Ethereum, which only execute the terms of a contract if the right conditions are met. Ethereum also supports the second largest cryptocurrency in the world by market capitalization, ether (quotation ETH).

For example, at the end of a season, a weather-specific oracle could inform the smart contract that it only rained 10 days or less in that season. And the smart contract understands how the farmer will have to pay. Conversely, if it rains enough, the weather oracle will inform the smart contract and the farmer won't get paid.

What's the deal with oracles?

One quality that defines a blockchain like Ethereum is being able to execute smart contracts. Once programmed, the smart contract will be completely controlled by the blockchain; no intermediary can prevent the transaction from taking place, assuming that the conditions for the smart contract are met.

The contract simply does what it is programmed to do. However, an oracle is a data feed managed by an entity. Blockchains like Ethereum were created to move away from third-party control, and the oracle breaks that rule.

Relying on a data provider can lead to problems. The owner of an oracle's data feed, for example, could post inaccurate data to influence smart contracts in their favor. Alternatively, someone could hack the data feed to influence the data in their favor.

Smart contracts that don't depend on oracles don't have this problem. That said, researchers are exploring various ways to solve this problem and create more decentralized or at least safe from bad intentions.

What applications make use of oracles?

Many Ethereum applications use oracles. The Augur prediction market, for example, allows participants to bet on what will happen in the future and establishes the outcome via several oracles.

For example, participants could have wagered "yes" or "no" on the question: "Will Joe Biden win the 2024 election?" Ed Augur would use the data from the oracles to figure out whether Biden had won or not, thus deciding the outcome of the bet. Other platforms, such as Chainlink, make oracles a central part of their platforms and have explored various ways to make oracles resistant to fake news.