Oracles play an important role in the ecosystem of any blockchain because they are the solution to one of the key problems of distributed networks, and that is the lack of a way of communicating with the real world. In this connection, the developers are actively working on the development and implementation of these algorithms. We examined how the Oracles work and why their development will play a key role in the practical application of smart contracts.
What Is an Oracle?
Any distributed decentralized network is always deterministic, meaning transactions in it go in strictly chronological order, and the network itself cannot independently obtain information from third sources and the outside world. To do this, there are Oracles in the blockchain, or infrastructure algorithms that translate information that is outside the network into a format that is understandable for the blockchain.
Thus, the Oracle can be considered as a way of linking the blockchain with the real world. This feature plays a key role, especially in the use of smart contracts—the protocols that ensure the automatic fulfillment of commercial transactions—transactions, and asset swaps between parties without the participation of third parties. When working with smart contracts, however, entrepreneurs and companies often face significant shortcomings, such as:
Smart contracts exist only in the crypto space, and a reliable blockchain system is needed for their work, the implementation of which is a technically and financially complex process.
Since a smart contract is an algorithm that must take into account many factors, then for the correct drawing up of such a contract, it is necessary to prescribe a large number of possible variants of the development of situations, which significantly increases the chances of a critical error.
Once entered into a smart contract, you cannot make changes or stop working until all the conditions prescribed in it have been fulfilled.
Unlike the blockchain, the world outside the distributed network is not at all deterministic, and it is likely that one of the parties or both may face unforeseen circumstances that will affect the terms of the smart contract. In this case, the Oracle blockchain will allow smart contracts to update the terms of their execution by obtaining information from the outside world. So, the Oracle will work as a kind of adviser, to whom a smart contract can apply for the interpretation of certain events.
How the Blockchain Oracle Works
One of the key questions that the developers of Oracles face is how to explain to the smart contract the occurrence of an event in a reliable, verifiable, consistent, and transparent way. This requires three components:
Oracle/Consensus of Oracles
A data source is a resource that provides information to the Oracle. The types of data the Oracles work with vary greatly, so sources can vary from meteorological resources that provide weather data to Bloomberg information about fluctuations in stock prices or future events from Augur's prediction market.
A query is a special code that works with a particular data source. Thanks to the request, the Oracle gets the data needed by the smart contract.
Oracle/Consensus of Oracles is an algorithm/group of algorithms that work in the blockchain, which are responsible for connecting to the data source and interpreting the information received in a format understandable for the blockchain.
Types of Oracles
Depending on their purpose and use, the Oracles can be of several types:
Oracle as Software
The Oracle, existing in the software format, works with information that is online. Such an Oracle can provide data on weather, temperature, prices for services or goods, transport schedules, and so on. The Oracle receives the data from company websites, processes it, and sends it to a smart contract.
Some smart contracts require information from the real world about the physical fulfillment of certain conditions. For example, a smart contract may need data about a car that is in the range of a certain sensor. Also, the hardware Oracle can interact with RFID tags (radio frequency identification tags) for the work of smart contracts in logistics. The main problem for this type of Oracle is to ensure the proper level of protection of the information being read.
This type of Oracle works directly within the smart contract itself and provides information from the outside world under certain conditions. For example, to start an automatic order for the purchase of cryptocurrencies, a smart contract must know when its rate reaches one or another mark. This information will be provided by the incoming Oracle.
The outgoing Oracle, on the contrary, can send information to the outside world. So, the smart locking system that exists in the real world can automatically grant the user access as soon as it receives information about the successful payment from the Oracle.
Consensus of Oracles
Prediction markets, such as Augur or Gnosis, require Oracles for reliable prediction of the development of events and final results. By using only one source of information, however, it is impossible to accurately determine its reliability. In this regard, prediction markets use not one, but several Oracles, to predict the consequences of events.
Who Develops the Oracle
Several companies are engaged in the development of projects related to the development and implementation of Oracles:
Oraclize offers a safe and "provably-honest" extraction of data from a web page, thanks to the use of TLSNotary/pagesigner, a service that provides cryptographic evidence that the received data corresponds to what was provided by the server.
ChainLink is a project of the Smart Contract company, which is working on launching a decentralized network of Oracles. According to the developers, a secure network of Oracles can solve the problem of communication of smart contracts with the outside world, thereby increasing the options for the practical application of these contracts. ChainLink consists of two parts, capable of exchanging information from blockchain and off-line. So, ChainLink can extract data from the interfaces of software applications (APIs), data pools, and other resources from off-line and integrate them into the blockchain system.
BNC (BraveNewCoin) is an organization that provides analysis and research on cryptocurrencies. Together with the company Smart Contract, it launched 14 free-of-charge public Oracles for smart contracts based on Ethereum. These Oracles offer information with price quotes for major cryptocurrencies, and their data is updated daily. Such Oracles, which supply financial data about cryptocurrencies, can be used in programs, applications, and crypto wallets.
Blocksense is a startup that provides a whole range of services on the blockchain, including the development and implementation of smart contracts that work with Oracle archives. The list of services also includes assistance in the launch of the project, the development of the blockchain-powered company, as well as consulting and the provision of training courses.
As the blockchain economy develops, the Oracle ecosystem will develop rapidly as a reliable way to connect the digital world with the real world. It is the Oracle blockchains that will be able to solve the problems of communication between the blockchains, as well as ensure the wider application of smart contracts in various industries interested in the use of decentralized networks.