Oracles in the blockchain: Does Ethereum blockchain need oracles?
July 6th, 2022

Oracles are third-party services that provide real-world information to smart contracts. In short, oracles help establish communication between the physical world and blockchains. 

As smart contracts cannot access off-chain data, it makes blockchain oracles an essential part of the ecosystem. But, the external information is vital to executing the agreement in several cases. 

While the data stored on the blockchain is ‘on-chain,’ the external data to the blockchain is known as ‘off-chain.’ Blockchain oracles help provide a link between off-chain and on-chain data. Oracles also increase the use cases of smart contracts by providing data access from the outside world. 

Blockchain Oracles

Blockchain obtains strong consensus, mitigates network downtime, and prevents double-spending attacks by isolating from external systems. Oracles become critical as they widen the scope of smart contracts by establishing a connection between blockchain and off-chain systems. Yet, an oracle is not the data source but the layer that queries, verifies, and authenticates external data sources.

Blockchains require an intermediary to retrieve real-world data. Source: Chainlink
Blockchains require an intermediary to retrieve real-world data. Source: Chainlink

Ethereum Blockchain Oracles

Ethereum is a famous blockchain with a provision for running smart contracts on its network. It helps developers to develop applications driven by smart contracts.

However, smart contracts are pieces of code laid down by the owner/developer. They cannot access the data available outside of the Ethereum blockchain. Ethereum smart contracts cannot access the hardware layers to access the information.

Oracles provide data access to smart contracts and connect them to the physical world. Blockchain oracles help Ethereum blockchain to use smart contracts in real-life applications.

Example of an Oracle

Suppose two friends want to bet on the weather forecast for the upcoming week. Friend A bets on an average temperature above 30C, and Friend B bets on an average temperature below 30C. The betting takes place on the Ethereum blockchain. After completing the week, how will the smart contract determine the winner? 

A smart contract would need an oracle mechanism to determine the weather forecast for the week. The smart contract would then deliver the results to the blockchain securely.

The Oracle Problem

Oracles are the driving force for smart contracts as they help establish a connection with the outside world. It leads to a situation where if the oracle is compromised, the smart contract relying upon also gets compromised. It is known as 'The Oracle Problem.'

The Oracle Problem arises because oracles are not part of the security mechanisms. Yet, the trust conflict between the trustless execution of smart contracts and third-party oracles remains an unsolved issue. Another threat to gaining access to the data flow is Man-in-the-middle attacks, as they modify the data between the blockchain oracles and the contract.

Different types of blockchain oracles

A single oracle can fall into many categories. For example, an oracle sourcing data from a company is a centralized inbound software oracle.

Software oracles

Software oracles interact with online data and send it to the blockchain. The data source can be from servers, websites, or online databases. Software oracles send data in real-time to smart contracts. It can generally include digital asset prices, exchange rates, or real-time flight information.

Hardware oracles

Hardware oracles help to source information from the physical world for smart contracts. Data can be from barcodes, electronic sensors, or other devices. Hardware blockchain oracles translate real-world events into digital values that smart contracts can understand.

Inbound and outbound oracles

The oracles that send information from external sources to smart contracts are Inbound. And the oracles that send data from smart contracts to the physical world are outbound. 

Centralized and decentralized oracles

Centralized oracles are prone to malicious actors as a single entity controls them. It can impact the working of the smart contract. But, decentralized oracles do not rely on a single source. Decentralized blockchain oracles increase the reliability of the information provided to smart contracts.

Contract-specific oracles

An oracle designed for one smart contract is a contract-specific oracle. A contract-specific oracle is very time-consuming and expensive to maintain and used by developers who require an oracle for specific work. 

Human oracles

Human oracles are people that possess knowledge in a specific field. A human oracle then researches and verifies the data's authenticity and sends that information to smart contracts. It also limits the possibility of fraudsters faking their identity as human oracles can confirm it using cryptography.

Blockchain Oracle Use Cases

Developers use blockchain Oracles for building more advanced decentralized applications. Let’s examine a few of them. 

Sustainability

Oracles contribute to a greener environment by creating incentives to partake in green practices. Oracles use advanced tools to collect environmental data. The data then allows smart contracts to disburse rewards for creating environmental sustainability.

Decentralized Finance (DeFi)

DeFi ecosystem depends on the working of oracles to access financial data about assets and markets. For example, oracles help concentrate liquidity at market price to improve capital efficiency. 

Key Takeaways

Oracles are essential to the ecosystem as they bring real-world information to smart contracts. In the above sessions, we learned that:

  1. Blockchain oracles help establish communication between the physical world and smart contracts. 
  2. Oracles are the crucial building blocks that help install a reliable, secure, and trustless manner for the blockchain ecosystem to grow.
  3. A blockchain oracle helps Ethereum blockchain to expand its real-life applications. 
  4. Generally, an oracle is software, hardware, centralized, decentralized, contract-specific, or a mixture of the given categories.
Subscribe to Ayush Agarwal
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from Ayush Agarwal

Skeleton

Skeleton

Skeleton