Here’s a quick guide deconstructing the nature of blockchain oracles. From the article, you will learn what crypto oracles are and what they are needed for, how they work, and why it’s not easy to marry blockchains with the real world. Read on.

What is an oracle in blockchain? 

According to the Ethereum foundation, an oracle is a bridge between the blockchain and the real world. They act as on-chain APIs you can query to get information into your smart contracts. This could be anything from price information to weather reports. Blockchain oracles can also be bi-directional, used to “send” data out to the real world.

Any device or entity that can pump information into your smart contract, can be an oracle, so, in theory, there might be not only software, but also hardware oracles and even human oracles. 

There are different types of blockchain oracles that can be categorized based on 1) the origin of the data 2) the direction of information flow and 3) the level of [de]centralization. That said, an oracle solution can be either a software or a hardware (the origin of the data), inbound or outbound (the direction of information flow) and centralized or decentralized (the level of [de]centralization). For example, Chainlink (LINK) is a decentralized software oracle technology that provides tamper-proof inputs, outputs, and computations.  

There are multiple blockchain oracles out there, not fewer than 30 active different solutions operating and competing with each other. For the sake of simplicity, here’s a table of the most popular blockchain oracles selected by the largest market cap: 

NetworkOracle TypeToken NameMarket Cap as of Sep, 22, 2022
Chainlink Decentralized, software, tamper-proof inputs, outputs, and computationsLINK$3,424,124,000
WinklinkDecentralized, software, inputs, outputs.WIN$97,064,429
API3Decentralized, software, inputsAPI3$89,212,197
NEST ProtocolDecentralized, software, inputsNEST$73,640,544
AUGUR Decentralized, software, inputsREP$78,835,249

The origin of the data 

As was mentioned earlier, an oracle in crypto is simply a third-part service connecting a virtual and encapsulated realm of blockchains with web 2.0 and the rest of the world,  where a lot of data is produced by not only humans, but also trading algorithms, weather stations, horses racing for the big prize, water crafts entering seaports, tracks delivering crops to certain factories etc. 

In order to send all this data straight to the blockchain layer, a mix of technologies could be used. 

If we’re talking about the data mined online, let’s say, prices on centralized and decentralized crypto exchanges, software oracles or smart contracts would be surely enough to pump this information into blockchains. 

But when it comes down to the data from the physical world, as in weather stations or transportation hubs, you might need not only a piece of code, but maybe also some sort of sensors, such as RFID chips. In theory, a device using a mix of hardware tools together with smart contracts could be considered a hardware oracle.

Software oracles 

As you’ve surely have figured out already, in comparison to hardware oracles,  it is certainly much easier to find a software oracle use case. 

  • API3, a data oracle, merges over 400 banking APIs with smart contracts, which, in theory, gives customers of traditional banks access to more risky but better-yield products. 
  • WINkLink, a decentralized oracle project running on the TRON network, offers not only price feeds to DeFi developers, but also weather, sports, and betting data. It also provides verifiable randomness for dApps’ various needs. 
  • Provable, an oracle service for dApp developers, is another solution where smart contracts can directly access data from web sites or APIs. Provable enables the shift of traditional services such as finance, gambling, and insurance into blockchains.

Hardware oracles 

As a part of the physical world and a possible IoT infrastructure, hardware oracles have a huge potential for smart homes, cities, factories, supply chains, and more. To date, practical use cases for these blockchain oracles are still hard to find in real life. However, here’s an example close to what possible hardware oracles are going to look like in the near future.

During the Chainlink Virtual Hackathon, software engineers Aram Moghaddassi and Aaron Wasserman used a Chainlink External Adapter to connect an Arduino RFID to a Chainlink oracle. According to a definition, RFID uses electromagnetic fields to automatically identify and track tags attached to objects. An RFID system consists of a tiny radio transponder, a radio receiver and transmitter. When triggered by an electromagnetic interrogation pulse from a nearby RFID reader device, the tag transmits digital data, usually an identifying inventory number, back to the reader. This number can be used for tracking.

Using RFID, a Chainlink External Adapter and a Chainlink oracle, Moghaddassi and Wasserman developed a decentralized check-in and check-out tracking system and now welcome other developers to deploy the RFID Data Provider Smart Contract on their own.

It’s a stretch, but this hackathon use case might be considered a hardware oracle. Possible use cases for this technology include a secure way to track location of any object, a smart system for check-ins and check-outs at airbnbs and hotels and more. 

The direction of information flow  

Depending on the direction of information, incoming, outcoming, or both, a blockchain oracle is known to be inbound or outbound. In the niche, outbound oracles are rare animals, and inbound oracles transferring information to the blockchains can be found more often. But in order to be consistent with what the brighter future holds in store for us, it makes sense to cover all the possible cases. 

Inbound oracles

Inbound oracles send data to dApps aggregating information from different sources. For example, Compound and Aave use Chainlink oracles to get DeFi tokens’s price feeds. Name any software oracle solution with a significant coin market cap, and it will likely be an inbound oracle: Kylin Network, NEST Protocol, Chainlink

For example, Hedge, a DeFi platform that enables instant, interest-free loans in Hedge’s stablecoin, USH, on Solana, uses Chainlink price feeds to secure interest-free loans on Solana. AndLiquidity, a decentralized borrowing protocol that allows you to draw 0% interest loans against Ether used as collateral, uses the same price feeds to secure $2.7 billion TVL. 

Outbound oracles

In the future, when outbound oracles are already mainstream, they will transmit information the other way around, namely, to the web 2.0 services from the blockchains. For example, through an outbound oracle, web sites can receive data about circulating supply of a certain coin at a certain moment in time. But we’re not there yet.

The level of [de]centralization in oracles

To date, we have two kinds of blockchain oracles: centralized oracles, for example Provable, Paralink, and more; and decentralized ones – like Hapi, NEST Protocol etc. 

When we talk about centralized oracles like Paralink or Provable, the fact that they are centralized doesn’t mean that their data can’t be relied on. These oracles simply use the security parameters that differ from the principles a decentralized oracle network like Hapi works on. For example, Provable implements the concept of authenticity proofs, a cryptographic guarantee proving that such data was not tampered with. 

However, according to Andreas M. Antonopoulos, a speaker, educator, and an expert in Bitcoin and open blockchain technologies, such oracles can fail in two ways. If the oracle is trusted and cannot be compromised, there is still a chance that the data on which it is working has been altered, and then, although being a trustworthy device, it will feed the smart contracts with data that are untrue. On the other hand, if the data is trusted and verified, the oracle may fail to operate correctly on the smart contract either due to malfunction or deliberate tampering. 

Responding to this issue, Chainlink proposed a system of decentralized oracles based on reputation, to reproduce the consensus mechanism of a blockchain and illuminate a single point of failure. The main principle behind a network of decentralized oracles (DONs) is that every decentralized oracle independently mines data from the outside world and brings it on-chain. Later, all the nodes either consensually agree about a deterministic value of truth for that data point or not. 

Note that even though Chainlink was the first protocol to solve this notorious oracle problem, as of today, it is, of course, not the only network of decentralized oracles. There are also some other solutions, say, Hapi and NEST operate on the nodes’ consensus, too. 

Summing up   

A blockchain oracle is an entity that transfers information from the off-chain world into a blockchain for other smart contracts to use it. 

Blockchain oracles can be differentiated by the origin of the data, the direction of information flow and the level of [de]centralization. 

The most popular oracle solutions are software inbound oracles transmitting price feeds to the blockchains. These solutions normally operate in a decentralized way, meaning that that they don’t have a single point of failure. However, it was not always like that. Chainlink pioneered as the first startup bringing a high level of decentralization to the layer or blockchain oracles.

FAQ

What are blockchain oracles?

A blockchain oracle is a bridge between the blockchain and the real world.

Why do blockchains need oracles?

Because oracles act as on-chain APIs you can query to get information from the real world into your smart contracts.