stub What is a Blockchain Oracle and How does it Work? -
Connect with us

Digital Assets 101

What is a Blockchain Oracle and How does it Work?

Updated on

Over the years since its invention, the blockchain has come up with countless products and solutions meant for improving the way it works, making it more productive, and in some cases, even for enabling other products and solutions.

One example of the latter are blockchain oracles, which have grown to be a crucial piece of technology that allows blockchain to connect to the real world, and therefore improve its smart contracts, and unlock countless new possibilities for it.

If you are not familiar with blockchain oracles, or you wish to learn more about them, keep reading, and we will explain everything that you need to know about them.

What are blockchain oracles?

Blockchain oracles are a special kind of technology meant to bring external information on-chain and deliver it to smart contracts. Essentially, they were invented to serve as bridges between blockchain and the real world.

As you may be aware, blockchain technology and its smart contracts cannot access external data — data that is not recorded on the blockchain. If it is outside of the network, it is invisible to smart contracts. The problem, however, is that smart contracts depend on this data. Many agreements that are made through the use of smart contracts will be fulfilled off-chain, but the contract itself will not be executed until it becomes aware of the fact that the terms of the agreement have been met.

Solving the blockchain problem

This is where blockchain oracles, as 3rd-party services, enter the picture, allowing just that — a link, or a bridge between the on-chain and off-chain worlds, allowing the data to travel from one to another, and feeding smart contracts the data that they need to work properly.

This makes oracles pretty much vital for the blockchain ecosystem, as they increase the possibilities that smart contracts can provide. Without them, smart contracts would be a lot more limited and useless when it comes to any real-world situations.

In other words, oracles do not function as data sources, but instead, as paths that data use to travel from the source to the smart contracts. They have additional purposes, of course, including verifying and authenticating the data sources before delivering the information. As for what sort of information is being transferred — it can be anything, from price information and payment confirmation to data caught by sensors, such as measured temperature, and more.

Finally, while some oracles only deliver information to smart chains, there are also those that can take it back to outside sources.

Different types of Oracles

As mentioned, not all oracles are the same. In fact, there are quite a few types of them that depend on different details, such as where the data originates from, whether it is inbound or outbound, and even whether the oracles are centralized or decentralized.

With that said, we will consider 6 different types of oracles, including:

  1. Software oracles
  2. Hardware oracles
  3. Inbound/outbound oracles
  4. Centralized/decentralized oracles
  5. Content-specific oracles
  6. Human oracles

1. Software oracles

The first on the list are software oracles, which are essentially oracles that interact with online sources of information. This is where they go to collect data, and from here, they send it back to the blockchain. Their sources of information can be anything that is deemed trustworthy enough, including various websites, specific servers, and even databases to which they are granted access.

In other words, if it is on the internet and the oracles can access it, it counts as a software data source, and software oracles can harvest data from it for the purposes of their smart contracts.

And, since these details are available online in real-time, that also makes these oracles some of the fastest when it comes to information delivery. This also makes them the most desirable, and the most commonly used type of blockchain oracles.

2. Hardware Oracles

Next up, we have hardware oracles, which are used for smart contracts that depend on real-world information. Typically, these are oracles that are collecting information that is being recorded by sensors from the physical world, and then sent onto the blockchain, and into smart contracts. That can include anything, from temperature readings to barcode scanners, water level readings, air pollution readings, and more. This type of oracles is commonly used when it comes to supply chains, where they allow smart contracts to track transported goods. So, if there are any real-world events that need to be recorded on the blockchain, this is the type of oracles that you will have to use.

3. Inbound/Outbound oracles

We mentioned briefly earlier that some oracles can only bring in information from the real world, or rather, from off-chain sources to the blockchain, and smart contracts in the end. These are known as inbound oracles, and both software and hardware oracles mentioned in the previous segments fall under this category.

However, there are also outbound oracles, which are used for sending on-chain data away from the blockchain, and back into the external world. They are used to notify outside sources of something that happened on the blockchain. So, for example, let’s say that one party sends a crypto payment to another party, which is required in order for some real-world action to happen. The smart contract would use outbound oracles to send this information and deliver it to the place it needs to reach.

Outbound oracles can be a useful tool, and they are likely to be more and more used in years to come, as more industries start using blockchain technology and its smart contracts for conducting everyday business.

4. Contract-specific oracles

In the fourth spot, we have contract-specific oracles. These oracles were designed specifically to be used by a single smart contract, and they only withdraw information that is useful for that contract. That would mean that, if you wanted to deploy multiple smart contracts, you will also need the same number of contract-specific oracles developed.

While this is a type of oracle that exists and can be used, they are considered very expensively to maintain, as well as too time-consuming. So, companies that aim to extract information from multiple sources will likely find them too impractical. However, if they only need a specific oracle for a single-use case, this may be an option to consider.

5. Centralized/Decentralized oracles

Nearing the end of the list, we have centralized and decentralized oracles. This is an interesting category as it determines the levels of trust. Obviously, centralized oracles are controlled by a single entity, and that entity acts as the sole provider of information for the smart contract. However, this is also a riskier option, as it requires you to trust the entity that is providing the information.

The entity in question has full control of the data, and the effectiveness of the smart contract depends on its honesty and accuracy, which is not something that many rely upon. It is also not in the spirit of crypto and blockchain, which were made to be decentralized for a reason — to avoid the spreading of fake or imprecise data that has always been distributed by centralized services.

Another downside is that, even if the centralized authority that controls the data feed is reliable, it can always be hacked, which would allow malicious actors to interfere with the smart contract and potentially cause problems.

However, the biggest flaw of centralized oracles is their single point of failure, meaning that even if a single vulnerability gets discovered and misused, the entire system will fail.

Decentralized oracles were invented as a countermeasure to all of these problems. They share many of the same objectives of public blockchains, as in doing things a certain way in order to avoid counterparty risk. They do not rely on a single source of information, which increases its reliability. Essentially, the smart contract requests information from multiple sources compares it and increases the chances that the information that is being delivered is true.

Some blockchain projects that have decentralized oracles even offer them to other blockchains, with Chainlink being the primary example and the leader in this area. Thanks to their nature, decentralized oracles remove the need for trust.

6. Human oracles

Last, but not least, we have human oracles. This includes individuals with specialized knowledge in a specific field, which allows them to take the role of an oracle, and research and verify the authenticity of data by using various sources manually. They can then translate the information into smart contracts.

Of course, this type of oracle requires the most trust, as it depends directly on the expertise and reliability of the experts providing the information, and even if they are considered reliable, they can still make mistakes. In the worst case, of course, they might be scammers who could provide corrupted or openly false data.


Smart contract oracles are a technology that has allowed smart contracts, and therefore the entire blockchain ecosystem, a window into the real world. In doing so, oracles expanded the possibilities of the blockchain, giving it new use cases, and granting the crypto industry the ability to come one step closer to adoption.

Ali is a freelance writer covering the cryptocurrency markets and the blockchain industry. He has 8 years of experience writing about cryptocurrencies, technology, and trading. His work can be found in various high-profile investment sites including CCN,, Bitcoinist, and NewsBTC.