Blockchain oracles are a critical component of blockchains technology and are key to redefining how blockchains meet the demands of users.

You may be wondering what a blockchain oracle is and why it matters. This article details the core components of a blockchain oracle, identifies different types of blockchain oracles, and explains why blockchain oracles are so important for users of blockchain technology.

What Is a Blockchain Oracle?

To begin with, what even is a blockchain oracle?

A blockchain oracle is a device or entity that connects a deterministic blockchain with off-chain data (data outside of the network). Blockchain oracles are essentially third-party services that provide smart contracts with external information.

Blockchain oracles serve as a bridge between blockchains and the outside world. They make it possible for smart contracts on blockchains to access off-chain data. A blockchain oracle can be thought of as a blockchain layer that queries, verifies, and authenticates external data sources for the blockchain. Usually, trusted APIs execute the process, making it possible for blockchains to be more connected with real-world events.

Due to contractual agreements and other methods of key information needed by blockchain applications, it is often imperative to have relevant information from the outside world present to execute the agreement in question. This is the point where blockchain oracles come into play.

Now you know what a blockchain oracle is, you may be curious as to why blockchain oracles are so important.

Why are Blockchain Oracles so Important?

Smart contracts are computer programs or transaction protocols used to execute rules and agreements for blockchains. Smart contracts execute the instructions needed to run blockchain-based applications, allowing for interactions between users and a blockchain.

Oracles broaden the scope in which smart contracts operate. Blockchain oracle technology feeds real-world data into smart contracts. Some oracles also cannot only relay information to smart contracts but also send it back to external sources.

With more data to work with, smart contracts can be used for a wider range of use cases. Without blockchain oracles, smart contracts would have very limited use as they would only have access to data from within their networks, which are typically confined to a single area (such as financial transactions for a crypto exchange).

Seamless data transfers are very important to this process, especially now as we exist in an era where big data is prevalent. Without external data,

What Is the Oracle Problem?

The challenge of designing a blockchain oracle is that if the oracle is compromised, the smart contract relying on it may also be compromised by default. This is the oracle problem. The blockchain oracle problem centers around a trust issue.

This trust includes doubts concerning reliable data transfer from data source to the oracle, reliable code execution in the oracle, as well as reliable data transfer from oracle to the blockchain.

The main issue is that people do not trust these outside sources of information from the get-go, regardless of whether it comes directly from a website or a sensor.

Because oracles are third-party services that are not part of the blockchain consensus mechanism, they are not subject to the underlying security mechanisms that this public infrastructure provides. This makes it difficult to verify the data collected by oracles. Also, depending on the type of blockchain oracle, the chances of malfunction and deliberate tampering are increased.

The need for defining oracle types stems from the importance of organizing the oracles to help facilitate blockchain solution developers in quickly navigating through the landscape of potential options. The types of Oracles vary in function and use.

Types of Blockchain Oracles

Blockchain oracles can be classified into different types based on the following factors:

  • Source: the origin of data, is it hardware or software?
  • The direction of information: is the data outbound or inbound?
  • Trust: does the data come from decentralized or centralized solutions?

The types of Oracles that exist include:

  • Software Oracles
  • Hardware Oracles
  • Inbound Oracles
  • Outbound Oracles
  • Consensus-based Oracles

Software oracles handle information data that originates from online sources, like temperature, prices of commodities and goods, flight or train delays, etc. The software oracle extracts the needed information and pushes it into the smart contract.

Smart contracts which require information from the physical world depend upon hardware oracles. For example, a car crossing a barrier where movement sensors must detect the vehicle and send the data to a smart contract or sensors in the supply chain industry.

Related: Learn How to Create Your Own DApps on Ethereum

Inbound oracles provide data from the external world. They use external sources to transmit data to the smart contracts. Inbound oracles also allow data concerning real-world events to be called to the blockchain. They can be used in automated trading.

Outbound oracles provide smart contracts with the ability to send data to the outside world. A real-world example would be a smart lock in the physical world that receives funds deposited to an address. A smart contract sends information on this event through an outbound oracle to a mechanism that unlocks the smart lock.

Consensus-based oracles get data from human consensus and prediction markets. The use of a consensus mechanism with these types of oracles presents a big step towards decentralized oracles. The technology relies on aggregating data from several oracles with proprietary methods for determining their authenticity and accuracy. This is because using only one source of information could be risky and unreliable.

Blockchain Oracles in Practice

Through the lens of existing blockchain oracle project teams, we may better understand how blockchain oracles work in practice. Such projects include UMA, Chainlink, and Band.

UMA

The UMA blockchain protocol is an Ethereum-based protocol that enables people to create synthetic assets on the blockchain. The mission statement of UMA is to make it possible for anyone in the world to access financial risk. For the synthetic assets to be effectively traded with up-to-date data, UMA depends on its blockchain oracle.

Related: What Is a Decentralized Cryptocurrency Exchange (DEX)?

UMA’s oracle system is composed of the Optimistic Oracle and Data Verification Mechanism. Smart contracts in the UMA protocol make requests for price information to the Optimistic Oracle.

Before prices proposed by the oracle are confirmed, they may be disputed. A request may be sent to the DVM to resolve disputes over pricing information. In the event of a dispute, a vote is proposed to UMA token holders to report the asset's price, using specific timestamps.

Chainlink is one of the first movers in the blockchain oracle sector. The Ethereum-based protocol connects smart contracts with data using a decentralized oracle network. One of its most popular offerings is its price aggregation service, which uses nodes to supply off-chain data to on-blockchain smart contracts.

Multiple, independent oracle operators update price feeds with Chainlink. Users of data from the price feed contribute to its quality with their funding.  Oracle operators in the network are rewarded with the funds provided for publishing price data.

The selection of nodes in a Chainlink oracle is based on the reputation and previous performance of the nodes. This helps to keep the quality of data high while also maintaining the security of smart contracts.

Band Protocol

Band Protocol is an oracle network that runs on the Cosmos blockchain. It is used by decentralized finance applications. In addition to serving decentralized finance applications, Band is working on gaining new ground with sports, weather, esports data, and random number generation.

Band is popular for its cross-chain oracle solution which pulls in data from web-based APIs. Band uses trusted data from multiple independent parties that interact using a delegated proof-of-stake consensus. 

Holders of the protocol's token share a governance stake in Band and responsibility for ensuring that the quality of data is good. To do this, BAND tokens are delegated to trusted validators. Validators on the network curate date in exchange for a portion fee rewards.

New Solutions and New Challenges with Blockchain Oracles

Blockchain oracles are a fairly reliable mechanism that facilitates communication between smart contracts.

For blockchains to maintain a sustainable impact in practical applications and within various industries, they need to interface accurately with real-world data.

Achieving this with oracles presents a few challenges in the form of the oracle problem.

However, significant progress has already been made on this front, and the future connectivity between blockchains and external data feeds will represent a major leap forward for the technology.

Blockchain oracles remain one of many critical building blocks to be implemented in the blockchain ecosystem in a manner that is reliable, trustless, and encourages growth.