paint-brush
A Guide to Understanding Blockchain Oraclesby@shaanray
466 reads
466 reads

A Guide to Understanding Blockchain Oracles

by Shaan RayOctober 13th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Oracles are a critical tool helping bring the digital and physical worlds closer together. They are also helping extend the capabilities of blockchain networks. Oracles combined with smart contracts secure contractual agreements, simplify arbitration and help create systems that can operate and utilize digital and physical assets autonomously and efficiently.

People Mentioned

Mention Thumbnail

Company Mentioned

Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - A Guide to Understanding Blockchain Oracles
Shaan Ray HackerNoon profile picture

Blockchain oracles are one of the critical components helping bridge the divide between the real and digital worlds.

Oracles are third-party services that provide blockchain platforms with information about external real-world events as well as external digital events. Data from oracles power Smart Contracts and DAOs

Oracle Definition

A blockchain oracle is a trusted third-party service that provides smart contracts with authenticated external data sources from the real world through an API.

Oracles connect smart contracts with events in the outside world. Smart contracts often need to be triggered by an external event. 

Oracles can be created to provide a wide range of data to smart contracts.

For example, an oracle could provide real-world weather data, outcomes of events, outcomes of legal cases, financial statistics, economic data, interest rates, market data, performance data from a vehicle or machine, and so on.

The important thing to remember about oracles is that most smart contracts are meant to be executed when a condition is met in the real world.

Oracles are trusted sources that can provide authenticated data about real-world events.

Software Oracles

Software oracles provide digital information to blockchains. The information they provide exists on other websites, servers, databases, etc.

Some examples of the data that software oracles provide include prices of stocks, exchange rates, cryptocurrency prices, and NFT prices.

Hardware Oracles

Hardware oracles help connect blockchain platforms with events in the real world. This data is gathered from the real world using sensors and reading devices and transmitted to blockchain platforms.

Hardware oracles can send data to blockchain platforms from the following sensors: thermometers, RFID readers, barcode scanners, electronic sensors, and other IoT devices.

The Blockchain Oracle Problem

Blockchain platforms' decentralized and distributed nature makes them secure and trustworthy.

Data provided by a centralized oracle presents security issues; for example, if the centralized oracle provider is compromised, then it could send erroneous data into the blockchain.

The incorrect data could then compromise the integrity of the blockchain. 

Solving the Blockchain Oracle Problem: Decentralized Oracles

Decentralized oracles help solve the blockchain oracle problem.

While developing a smart contract, you could use a decentralized oracle to provide data to it, or you could enable it to get data from multiple oracles and only trigger an event when the majority or all of the oracles offer the same input. 

There has been some debate about oracles getting compromised.

In the case of larger bets, smart contracts can add multiple oracles to ensure that numerous sources or oracles validate the same outcome.

For example; if two users place a bet in the form of a smart contract and the triggering event is the outcome of a basketball game, then we could write a smart contract that requires five oracles to participate, let’s say ESPN, NBC Sports, CNN Sports, BBC Sports, and Yahoo Sports.

The smart contract can require all five oracles to signal the exact outcome before it can be executed.

Other Types of Blockchain Oracles 

Input or Inbound Oracles send data from the real world or another digital platform into a blockchain platform or smart contract. Most oracles, as of this writing, are input oracles.

On the other hand, Output Oracles send information from a blockchain platform or smart contract to an external source.

For example, if a smart contract is concluded, an output oracle can trigger an event in the real world – such as giving access to a website or a hotel room once payment has been received. 

Cross-Chain Oracles are focused on interoperability between blockchain platforms.

These types of oracles enable users to build applications and services that are accessible and functional across different blockchain platforms. 

Compute-Enabled Oracles are currently only provided by Chainlink. Some computation is impractical to do on-chain because of legal, financial, or technical constraints.

Compute-enabled oracles provide decentralized services using secure off-chain computation processes.

Rather than simply presenting the results of a query, compute-enabled oracles can perform intricate and complex calculations off-chain and then send the result to a blockchain platform.

Contract Specific Oracles are suitable for specific situations. As their name suggests, they are oracles that are calibrated to work with a single smart contract.

They are created from scratch with the objective of serving a very specific use case.

Human Oracles are people with specialized knowledge who can act as oracles; their reputation is the key factor that incentivizes them to present the correct information to smart contracts.

While Chainlink is the biggest oracle provider as of this writing, the following protocols also provide various oracle-based services: Universal Market Access, Winklink, Band Protocol, iExec Cloud Platform, Tellor, DIA, Truebit, Terra, and Flare.

Several other platforms are under development.

Oracle Uses 

There are numerous possible use cases for oracles. Below are the use cases with the highest levels of adoption as of this writing: 

DeFi uses oracles to get financial data about various assets, markets, and user creditworthiness. 

Enterprises & DAOs can connect their off-chain operations to their on-chain logic through input and output oracles.

This could allow them to automate their logic and perform complex operations using their digital and real-world assets.

Dynamic NFTs use oracles to update their metadata or features based on real-world events and assign randomized traits to them.

Gaming utilizes oracles to generate verifiable randomness to create randomized events and unpredictable and engaging gameplay in on-chain games.

Insurance applications and smart contracts verify the occurrences of insurable events using input oracles. Examples of this are legal data, data from physical sensors, satellite imagery, and API calls from websites.

Sustainability projects use hardware and software oracles to receive environmental data.

This data includes satellite imagery, sensor readings, temperature and humidity data, and weather information.

Computation of this data allows these protocols to dispense rewards to users engaging in conscious consumption or other practices outlined by the platforms.

Several carbon credit-based protocols are also using oracles to enhance their operations.

Conclusion

Oracles are a critical tool helping bring the digital and physical worlds closer together. They are also helping extend the capabilities of blockchain networks.

Oracles combined with smart contracts help secure contractual agreements, simplify arbitration, and create a level of automation. Input and output oracles used together help create systems that can operate and utilize digital and physical assets autonomously and efficiently. 

--

Shaan Ray

Also published here