Trust makes the world go round. From the trust you place in an online retailer to deliver your order to the collective faith we have that our currencies are worth something. But just because we believe something will happen doesn’t make it so. Many believe that exposing yourself to scams and fraud is just the cost of doing business, but what if instead of agreements relying on trust between individuals, there was a way to ensure that something happened when certain conditions were met?
Enter oracles, technology that serves as a bridge between reality and the blockchain. As such, they are constructed from both on-chain smart contracts (essentially programs built on the blockchain) and off-chain hardware capable of updating the data available to the smart contract, such as a sensor.
What are Smart Contracts?
To understand how they work, it’s first necessary to explain the on-chain part of the oracle: the smart contract. The key draw of smart contracts is that they are tamper-proof programs, unfailingly executing once the conditions built into them have been met. That’s because they exist on a blockchain, most commonly Ethereum, with programs written in the programming language Solidity.
“Smart” contract is actually somewhat of a misnomer. They don’t make any decisions of their own, instead, following the rules built into them to automatically execute an agreement. In the case of oracles, those rules are reliant on data input by the off-chain part of the technology. Oracles, then, are methods of connecting external systems to digital smart contracts, feeding them data of any type that the smart contract needs to understand before executing. That execution can authorize a transaction, but it can also issue an NFT, for instance.
To illustrate the possibilities of oracles, let’s use one of the leading oracle networks as an example. Chainlink’s services allow users to connect smart contracts on any blockchain to real-world information such as price feeds, weather data or off-chain computation. Think of them as an application programming interface to the real world.
In order to motivate nodes to provide accurate data, those wishing to create nodes must stake Chainlink’s LINK token into a smart contract, with LINK also being used to pay for services on the network.
Chainlink itself decides what data sources it offers. The company has formed partnerships with a number of dataset owners such as independent news organization the Associated Press, which has made its economic, sports and race call datasets available via a Chainlink node. That data can in turn be used to trigger a trade when a company’s quarterly financials are released, for instance.
A lot of the excitement around oracles stems from their possible uses in decentralized finance (DeFi) applications, such as insurance. Imagine farmers being reimbursed automatically for reduced crop yields caused by drought after a weather sensor detects low levels of rain, for instance. That’s one of the possibilities inspiring its use of Google Cloud’s Public Datasets Program and the weather and climate data contained within.
Chainlink’s oracles secure over $75bn of crypto assets as of December 2021. Indeed, 2021 proved to be a bumper year for the service and oracles in general, with a total of 772 oracle networks in Q4 2021 compared to 139 in Q4 2020. That’s led to over 1.1bn off-chain data points being delivered on-chain.
Types of Oracle
It’s worth distinguishing between a few different types of oracle which are specialized for different purposes. Inbound or input oracles are the kind we have already discussed, in that they bring real-world data to the blockchain. There also exist outbound or output oracles that can bring blockchain data to the real world, informing physical items that an event took place on-chain. That might be useful for triggering a physical smart lock once a cryptocurrency payment has been made, for instance.
There is also a difference between hardware and software oracles. The latter will deliver data from digital sources such as price data, while the former interfaces with physical sensors such as a thermometer. Finally, there are cross-chain oracles that are capable of exchanging information between blockchains, enabling information from one to trigger an action on another.
The Oracle Problem
Significant hurdles remain before oracles go truly mainstream, though, not least the issue of bad data. Whether that’s from a malfunctioning sensor or malicious actor, bad data can find its way onto the blockchain. Possible solutions lie in having multiple sources and cross-validation, though if an oracle service is able to limit the sources available, that becomes less useful.
In the absence of regulation, there are also significant questions about the extent to which the actions of smart contracts should be considered final. That exact issue led to the splintering of the Ethereum blockchain into Ethereum and Ethereum Classic after users exploited a poorly secured smart contract to drain the decentralized autonomous organization investment group known as The DAO of funds. Once Ethereum realised what had happened, its developers decided to undo its actions, creating a split between those who believed that the actions of a smart contract should be taken as writ and those that didn’t.
Assuming those hurdles are overcome, the possible use cases for oracles and smart contracts, in general, are vast. Issuing or editing NFTs automatically is one exciting avenue of exploration. Imagine an oracle that takes information in from a fitness tracker and issues rewards based on the number of steps you’ve taken. In another direction, services such as Betswap have emerged using oracles to power decentralized betting exchanges. For businesses, meanwhile, there is interest in using oracles in quality control and counterfeit reduction – as with IBM’s partnership with Sonoco which tracks temperature-controlled pharmaceuticals through the supply chain.
One of the most revolutionary uses might come in the form of parametric insurance. While not a new idea in itself, the emergence of oracles has led to a new approach to insurance that doesn’t require loss assessment. Instead, an oracle could pay out a pre-agreed sum based entirely on data from real-world sensors.
Oracles are an important step towards integrating the outside world with blockchain technology As tamper-proof, traceable systems, they provide a secure and irreversible way of moving off-chain data on-chain – the tricky part is verifying that data in the first place. Overcome that, and oracles could eventually replace the third-party arbiters that today have so much control over transactions.