Oracles are the necessary connections that allow you to link smart contracts with information from the real world. Smart contracts can be executed by all users of the blockchain. The results of these executions are also stored in the blockchain, and are also available to all users.
Smart contracts mostly refer only to events created manually in the blockchain. If you want to connect them with information from the real world, that is, with real information, the sensors must be connected to the blockchain. These sensors are sources of information about the real world, called oracles.
According to Coinmarketrate.com, Oracle is a service that provides real-world data at the disposal of the blockchain. Through oracles, external data is thus inserted into the blockchain. This data is processed using smart contracts. Examples of real-world data are temperature, flight delays, or insurance contract settlement processes.
How Blockchain Oracles Work
The pioneer among the blockchain oracles is the Astraea protocol. This is well suited to describe the function of blockchain oracles.
The initial idea of a public blockchain was to prevent duplication of transaction costs when processing transactions in a peer-to-peer network. The blockchain system allowed quasi-anonymous parties to the transaction to reach consensus on the disposal of this transaction on the network. At the same time, the same problems arise that have plagued the IT industry for decades: networks cannot communicate with each other. This leads to inconvenience of use and inefficiency.
Since its development, this original idea has been constantly expanding and developing. One of these further developments are smart contracts that can perform automated contract actions when certain predefined or programmed events occur.
However, smart contracts have a limited scope of application, since they can only work with data that is in the blockchain. So the fundamental problem here remains: The Blockchain and its applications cannot interact with the real world or cannot do it on their own.
This application problem can be described as a computer that is not connected to the Internet and therefore has no way to interact with the outside world.
Oracle solution via Astraea
Therefore, oracles were developed to be able to use external data in the blockchain. They form a connection point for external data, but without the possibility of verifying them. Therefore, external data must be verified or proven cryptographically, or computationally. This leads to a fundamental security problem of oracles, since the security of manipulations cannot be guaranteed by their nature. This is because it gets access to data from external organizations. This data itself is not trustworthy, which, in turn, contradicts the basic principle of the blockchain.
This is where Astraea comes to the rescue. It is a decentralized oracle of general purpose for determining the truth or falsity (Boolean proposition).
A Boolean logical proposition is a logical structure that can be either true or false.
Thus, Astraea Oracle is a Blockchain application based on a voting-based game. Blockchain users can take on the role of a voter or a verifier to determine the truth or falsity of the information provided. Therefore, the goal is to continue to ensure data security from forgery or security from hacking of the entire blockchain. For this purpose, Oracle protocols provide rewards.
Simplified representation of the Oracle of Astraea
A graphical representation of the mechanism can be found in the IEEE Blockchain Technical Briefs Technical Bulletin for March 2019.
Integrating oracles into smart contracts
Oracles are added to the blockchain using so-called multisig contracts. These are smart contracts that are signed by several parties. They should be determined accordingly, for example, by programming that person 1 wants to make an exchange with person 2 and that this is possible only if certain conditions are met.
Then these conditions are provided with data from Oracle. Even if two parties to a contract want to execute a smart contract, it can only be executed if a condition is met that can be verified using Oracle data.
There are five different types of oracles:
Software oracles: They refer to data that is available on the internet, such as temperature or flight delays.
- Hardware oracles: They refer to data that is processed directly from the real, physical world. As an example, we can cite data from supply chains.
- Incoming oracles: These oracles provide the smart contract with information from the outside world. As an example, an automatic purchase order can be given as soon as a certain exchange rate is reached, say, the ruble or the euro.
- Outgoing oracles: Here smart contracts can send data to the outside world, not just receive it. This is necessary, for example, if a payment will be made on the blockchain.
- Consensus-based oracles: Several oracles are combined here. The purpose of this combination is not to rely on one external source. Various oracles form a consensus for decision-making. The consensus is recorded in the blockchain protocol. For example, you can program a rule according to which the consent of at least three of the five oracles is required to perform an operation.
- Blockchain Oracles: the most famous projects from Chainlink to API3. As already mentioned, Oracle Astraea is considered a pioneer in the field of applications. Since then, various further changes have taken place.
The following are presented below.
- Chainlink: The most famous Oracle Provider
Chainlink is the most famous Oracle service provider. Chainlink was developed in 2017 and is therefore one of the pioneers of the Oracle blockchain, along with Astraea. The function of Chainlink is to receive aggregated information from various oracles through the Marketplace.
To do this, Chainlink works according to the following rules:
- Only registered Oracles can offer data. Therefore, Chainlink is an authorized protocol.
- The Chainlink system is vulnerable to a Denial of Service attack. “Denial of service” means the unavailability of an Internet service that should be available. A common cause of this problem is data network congestion. This may be caused unintentionally or intentionally.
In this sense, Chainlink is an Oracle network with multiple “chains” that provides tamper-proof inputs and outputs for smart contracts. Through these inputs and outputs, Oracle network smart contracts are linked to various real-world data, such as asset prices, price channels, weather data, and so on.
- Band Protocol: Oracle with its own Blockchain
Band Protocol is supported by the Binance cryptocurrency exchange. The protocol allows decentralized applications to integrate information about prices and events. The goal is to connect the decentralized system with the real world as efficiently as possible.
This data is “curated by the community”, that is, it is considered that they have been verified and curated by experts (users). As a result, the data associated with smart contracts is considered reliable. In this respect, Band Protocol differs from Chainlink, since decentralized applications access data through smart contract data, and not through external oracles.
An important feature of Band Protocol is its integration with Google Cloud. Band Protocol is integrated with Google Cloud Public Data, which allows you to analyze financial time series in real time.
- API3 for blockchain
API3 is a project based on DAO. DAO is an abbreviation for a decentralized autonomous organization, which is an organization encoded by a transparent computer program. The DAO records and program rules are based on distributed ledger technology (DLT).
API3 creates programming interfaces (“API”, short for Application Programming Interface) for decentralized applications called “dAPI”. Applications are widely available and can be created by combining multiple operators and running Oracle nodes without an intermediary.
- Witnet: Oracle of Reputation
Witnet is a reputation-based decentralized Oracle network.
Nodes running the Witnet software can increase or decrease their reputation by receiving a correct or incorrect data request. The correctness of the data request is determined by the consensus algorithm.
Oracles in the Witnet network are randomly selected. Oracles with a high reputation value are more likely to receive new tasks than oracles with a low reputation value. Tokens are provided as a reward.
- DIA: a decentralized information platform
DIA, short for Decentralised Information Asset, is an open source Oracle platform that allows participants to receive, provide and share trusted data.
DIA is a non-profit project that provides access to financial data verified by blockchain users. The project aims to create a fair, symmetrical financial ecosystem by providing transparent, secure, verified market data.
Blockchain oracles are becoming more and more important and well-known. More and more cryptocurrency companies are investing in this infrastructure to be able to link decentralized applications for smart contracts with various real data. This is necessary because smart contracts cannot access data on their own due to the limitations of the blockchain.
Therefore, the goal of Oracles is to connect the digital, decentralized world of blockchain with real data and information.
It is likely that the value of the Oracles blockchain will continue to grow, and the Oracle-based token market will expand.