What are they?
“Blockchain oracles are third party services that provide smart contracts with external information.” Essentially, oracles are separate entities from blockchains that allow blockchains to connect to the outside world in order to operate more efficiently but also accomplish more. One of the main drawbacks of blockchains is their lack of ability to communicate and extrapolate information that exists outside of their ecosystem. Oracles look to gather external data and feed it into the blockchain in a meaningful way in which smart contracts can use the data to execute actions based on the data.
Without oracles, smart contracts would have very limited use as the only data they could use to operate would be data that exists within the ecosystem. There are many different types of oracles and some have several different functions, such as the ability to relay information from within the blockchain to external sources. Here are the various types of oracles.
Types of Blockchain Oracles
Software oracles are one of the most common oracles, by design they interact with online sources of information through the internet and relay this information to the blockchain. This information can range from sources like websites, databases, severs etc. Any sources on the internet, the software oracle can access for information. Examples of information that software oracles may want to accumulate are exchange rates, inflation information, stock prices, digital asset prices, unemployment statistics etc. Any real world statistics that a blockchain can benefit from knowing, an Oracle may find useful in obtaining and relaying.
Hardware oracles help blockchains interact with the physical world. For example, a hardware oracle may gather information from sensors, barcodes or any electronic reading device and then relay this information to the blockchain. At the heart of the hardware oracles, their job is to take real world information and compute it into digital numbers that the smart contract can understand. Example: There is a sensor at a manufacturing plant that relays info to the blockchain based on when shipments come in. The blockchain then executes smart contracts based on the information provided.
Inbound and Outbound Oracles
Inbound oracles have the important job of relaying external information to the blockchain whereas outbound oracles relay information from the blockchain to the external world.
Examples: An example of an inbound oracle would be the one described in hardware oracles. A sensor used in a shipping facility can relay information that it detects to a blockchain.
Example of an outbound oracle would be an external lottery that has its payout locked based on the blockchain, once the criteria within the blockchain has been met, the funds will be released to the external world.
Centralized and Decentralized Oracles
At the heart of all crypto is once again centralization and decentralization. Centralization meaning that a sole entity controls the oracle and provides the necessary data for it. Decentralization means that no one person or entity controls the oracle or is the sole provider of information.
Centralized Oracles: Similar to other centralized entities, one of the biggest risk of a centralized oracle is the existence of a single point of failure. For starters, the effectiveness of the information and the oracle is solely dependent on the controller of the oracle. Additionally, a malicious attack on the entity that controls the oracle can have an extremely negative impact.
Decentralized Oracles: As with many decentralized projects in the crypto space, a major benefit behind decentralized oracles is its ability to spread out the single point of failure. By having multiple sources of information and multiple entities contributing to a system, the risk of failure is reduced as well as the reliability of information is increased as there isn’t one single point of “truth”.
Human oracles are an interesting type of oracle in the crypto space. Essentially, individuals with specialized knowledge can act as oracles and be used to validate information. They research and verify that the information being fed into the oracle is accurate and trustworthy and then convert this information into data useful for smart contracts. Human oracles verify their identity using cryptography, which adds a layer of security against fraud.
The Oracle Problem
Despite all the benefits and importance of oracles listed above, what is the Oracle problem? The oracle problem stems from the very nature of how important oracles are. Given that a smart contract relies heavily on the information input from an oracle, if the oracle becomes compromised then so does the smart contract.
It’s important to note that oracles are separate entities from blockchains, and therefore their security mechanisms are separate from the security mechanisms provided through the blockchain. As of right, there aren’t any clear or identifiable solutions to these issues, but it’s an issue that the industry is very much aware of.
Another point of failure is the interception of information from the oracle to the blockchain, in this case the perpetrator can alter or falsify the data being sent to the smart contract and thereby altering the actions the blockchain may take.
It’s evident that oracles are a fundamental part of blockchains and their functioning despite them being largely overlooked by retail investors. I highly recommend reading up on them and gaining a better understanding of how they work and which oracles look to be the biggest players in the years ahead. A few examples would be: Chainlink, Oraclize.it, BAND protocol and Bridge Oracle. Understanding the many layers of the crypto space and which project will dominate each layer will produce the greatest rewards. This is similar to understanding in 1990 that google will dominate the search engine fight, Micriosft will dominate software, Apple will win mobile hardware and Amazon will win retail. If you were able to identify these four winners at that time, you would be extremely wealthy from minor investments in each.
Thanks for reading!