The Role of Oracles in the Blockchain Ecosystem

The Role of Oracles in the Blockchain Ecosystem

September 11, 2018 by Leo Webb
Oracles in Blockchain

Many people in the crypto community think of blockchain as of a living, breathing organism. But this is not the most important thing. Although the blockchain provides a database on which there is general agreement, it must get information from reliable sources from the real world.

Many believe that smart contracts are a new wave of innovation for business and law, which can serve as a material for the construction of the next chapter of the Internet.

Oracles have a critical role in a decentralized ecosystem, as they solve one of the key tasks of crypto world – the lack of a method of effective connection with the real world, outside the walls of blockchain. Therefore, developers offer more and more oracles, which should greatly simplify the implementation of such algorithms.

What does an oracle do in the crypto systems?

The main feature of any decentralized system is its determinism. Operations in such a system occur in strict chronological order, and the network itself is closed – it can not receive data from other sources. To supply a decentralized network with third-party data, developers use oracles – internal algorithms that transform various data from the external world into the world of blockchain.

Thus, oracles can be called translators between the two worlds – as oracles in Greek mythology, which brought the dictates of the gods to ordinary people. These algorithms are extremely needed in the field of smart contracts. However, their development is not as easy as it seems, and here’s why:

  • They are designed and executed in a crypto environment, and their operation requires a trustable and provable blockchain, which is a complicated technological process itself;
  • A smart contract is an algorithm with many factors, and therefore it is required to describe a large number of variations to provide for different possible situations. This enhances the possibility of errors.
  • Once it is launched, developers can’t change anything in the algorithm until the terms are met.

At the same time, the real world does not live by the cryptographic rules, and is not so certain. Third parties and sudden events interfere with the normal course of things, and this greatly affects the terms of the smart contract. In this case, an oracle intervenes, which gives additional data to the smart contract in an understandable form. Thus, the oracle serves as a machine adviser and helps the smart contract to react correctly to the changes that have occurred.

How does a blockchain oracle work?

The developers have to explain the caused changes to the algorithm in a simple and transparent way. They need 3 components:

  • Data source
  • Query
  • Oracle / Consensus of oracles

A data source is the resource of the required information. There can be any number of such sources, and they can supply different types of data.

A query is a specific code that is used to process a specific data source. The query allows the oracle to get the required data for further transfer to the smart contract.

Oracle/ Consensus of oracles is is an algorithm or a combination of algorithms that operate on the blockchain and are responsible for data transmission and interpretation in a blockchain-friendly format.

Types of blockchain oracles

There are different types of oracles, which depend on their goals and ways of use:

Software oracle

This kind of oracle processes only online data. Such an algorithm can provide data received from other sites – for example, weather forecasts. The oracle gets this data from the trustable companies’ websites, works with it and sends it to the smart contract.

Hardware oracle

In some cases, smart contracts specify physical changes to some conditions. For example, information about equipment with special sensors may be required to fulfill a contract. In some cases, it may be the use of RFID tags. In this case, the hardware oracles must correctly interpret the signals and transmit them to the blockchain in a secure format.

Incoming oracle

Such oracles work directly with the smart contract, and transmit information from the ordinary world according to certain rules. For example, you have created a smart contract that will trigger the automatic purchase of bitcoin when it reaches a rate of $ 8,000 on a specific exchange – in this case, the oracle gives the smart contract data when that rate is actually reached.

Outgoing oracle

This oracle, on the contrary, gives the outgoing signal. For example, a smart car lock will perform its functions as soon as the user’s payment is confirmed in the blockchain network.

Oracle consensus

Some complex systems require several oracles at once, as many sources of information are processed. In this case, the consensus of the oracles is used, each of which is responsible for processing and transmitting certain data.

Summing up, it can be noted that oracles are an important part of any blockchain system, as they connect the decentralized world of cryptographic conditions with the real world. Still, there are some problems with the oracles. You need to trust them. In each case, the data used by the oracles should be regarded as trustworthy. But what if somebody falsifies the information? The risk remains that the smart contract will receive incorrect or fake data from the chosen oracles. This is a serious security flaw.

One of the possible solutions is to request information from several oracles at once, but they can give different indicators, and then the question remains how to calculate the real data – to take the arithmetic mean or to decide by a majority vote. While these issues are not resolved, the oracles are not accustomed to blockchains everywhere.

Read about another role in blockchain ecosystem – Validator