[TL; DR]
- Oracles relay data between blockchains and the real world.
- Compound, Chainlink and Maker are examples of blockchain oracles.
- There are different types of oracles which include software oracles, decentralized oracles, centralized oracles, inbound oracles and outbound oracles.
Introduction
The blockchain economy is growing at a very fast pace as new use cases emerge. However, there is a gap between the decentralized economy and the traditional one since there is no direct communication between the two. The main reason is that blockchains do not directly access non-native data which they require. This is the reason why blockchain oracles are required. They connect off-chain and on-chain data sources.
On-chain data is the data that exists on the blockchain whereas off-chain data refers to information from the physical world. In other words, off-chain data, also called real world data, is information which is not native to the blockchain. This article covers ways in which the blockchain can access data from the physical world using oracles.
What is a blockchain oracle?
A blockchain oracle is a computerized system that connects the blockchain with the existing real world. They act like middleware which transmits data from off-chain sources to the blockchain and vice versa. For example, the blockchain needs to communicate with the internet which it cannot do without oracles.
The real- world has a lot of data which is useful to blockchain users. In some instances, for example, the blockchain should access the current prices of specific cryptocurrencies such as ETH or weather conditions of certain areas. Much of that data exists off-chain.
How oracles work
Oracles, which are third party computerized systems, have different infrastructure and do not operate in the same manner. However, they all function like application programming interfaces (APIs) that relay information between two or more computer systems or applications. However, oracles transmit data between the blockchain and other data sources such as the internet (Web2.0), software systems or equipment such as sensors or cameras.
Basically, the oracles gather data from external sources, verify it and send it to the blockchain. They gather the information from multiple sources depending on the requests they receive from smart contracts. It is important to note that oracles can also send data from the blockchain to the real world. In addition, they perform other tasks or transactions such as computation of data.
Types of oracles
There are different types of orcales such as hardware and software.
Software oracles
As the name denotes, these are a special type of software systems that connect the blockchain to the sources of data such as the internet. Usually, they link data sources like servers, websites and databases with the blockchains. For example, they share information such as prices of assets and travel information which include flight bookings.
Hardware oracles
These are special types of data gathering hardware that collect information from the physical world and pass it to the blockchain. Such equipment uses items such as sensors, cameras, thermometers and barcodes to collect the information.
For example, they collect temperatures from thermometers and relay the information to the blockchain. As such, these oracles collect data from real world sources. A good example is how they collect the arrival and departure time of trucks at loading bays.
Inbound and outbound oracles
There are oracles that bring data to the blockchain and some that send out the information. Specifically, inbound oracles collect data from different sources and send it to the blockchain. On the other hand, outbound oracles get information from the blockchain and send it to relevant destinations. For example, such oracles can send the prices of cryptocurrencies to the traditional banking sector.
Centralized and decentralized oracles
These are other important types of orcales. A centralized oracle is either controlled by an individual entity or the data comes from a single source. However, this type of oracle has a big disadvantage. A bad actor may manipulate the information. For example, the oracle may falsify the information thereby misleading the users.
A decentralized oracle, on the other hand, functions without a controlling party. In addition, the data comes from multiple sources. Therefore, the information is usually accurate and reliable.
Computational orcales
Computational oracles gather certain data from the blockchain and computes off-chain. After the computations, they relay the information on-chain again. By doing this, they save the cost of computing the data on the blockchain. For instance, an oracle can compute the yield of a bond contract or a specific derivative.
Examples of oracles
Currently, there are several blockchain oracles that relay data to and from blockchains.
Chainlink is one of the leading oracles in the industry. As a decentralized oracle, it feeds data from various sources into the blockchain system. Since it accesses data from various APIs it provides high quality data.
Compound is another well-known oracle which relies on various data sources. It collects the data from large and established players such as exchanges. Another oracle, Maker, which uses a complex proof-of-authority model, operates in a similar way to Compound.
How does DeFi benefit from oracles?
The decentralized finance (DeFi) sector benefits immensely from blockchain oracles. For example, the oracles supply real-time price data to lending protocols which use it to evaluate the performances of the underlying collateral assets. For instance, they use this information to liquidate some positions when the prices of the underlying assets drop to certain levels.
The oracles provide price data for cryptocurrencies in order to stabilize stablecoins. For example, the DAI uses collateral value denominated in ETH. However, it is pegged against the United States dollar. Therefore, the oracles always provide the price of ETH to the relevant smart contract.
The Derivative protocols rely on oracles to get prices of cryptocurrencies they use to calculate the values of the assets. In particular, platforms that provide Index services require accurate and timely index component prices.
Also, the oracles provide information necessary for buying and selling of different assets such as real estates and vehicles where cryptocurrencies are the means of payment.
Basically, oracles track prices of cryptocurrencies, foreign currency and stocks which investors need to know to purchase or sell their securities. Therefore, investors can use this data when planning their investment portfolios.
The oracles can also perform certain functions triggered by specific conditions. For example, traders can set oracles to buy or sell securities under certain terms. For example, if the price of a cryptocurrency falls below a specific level an oracle can initiate its sale.
Conclusion
The main function of oracles is to help blockchains to interact with external data. These increase the use cases of blockchains which encompass sport betting, trading and investing in various securities. Nevertheless, it is essential to know that ,at times, blockchain oracles can supply incorrect information, depending on the source of the data.
Author:
Mashell C., Gate.io Researcher
This article represents only the views of the researcher and does not constitute any investment suggestions.
Gate.io reserves all rights to this article. Reposting of the article will be permitted provided Gate.io is referenced. In all cases, legal action will be taken due to copyright infringement.