Blockchain oracles are one of the tools that blockchain technology uses to interact with the physical world. Hence its enormous utility and potential since they allow to create a bridge between the cryptographic and physical world in order to create utilities that take full advantage of blockchain technology and everything it has to offer us.
Blockchain and smart contract protocols are limited to only obtaining information and accessing data that are within the same network. This limitation has led the developers to create the oracles. These are, in a nutshell, a service that sends and verifies real-world information that is relevant to a blockchain or a smart contract. All this in the form of electronic data that can be assimilated by the networks that support them.
In this sense, we can say that oracles are pieces of code that serve as a bridge between the real world and that represented by the blockchain and its protocols. A bridge that allows blockchain and smart contracts to interact with the real world.
Functions of an oracle
An oracle’s main function is to be a service through which a blockchain or a smart contract is fed by information external to the blockchain on which it is executed. Information that can trigger a specific action within it according to a certain schedule.
And it is that through the oracle real data are obtained from different web pages that reveal sports results. In addition, the oracle collects and verifies information from various web pages to create a consensus and give an accurate result that cannot be manipulated. So, oracles are a kind of data source that informs the network of events that occurred abroad. With this they allow that in this case, the smart contract can be activated to release the funds after the predetermined conditions of the agreement are met. With this, the potential of smart contracts extends to the real world.
Examples of using an oracle
Surely you are wondering at this moment, what use can an oracle have? Well, to tell the truth, they are very useful, and to learn a little about this, let’s see the following example.
Let’s imagine that two people place a bet on a soccer game. In this bet, Pedro bets on team A to win and Juan on team B. Both define the agreement, the conditions and the money of the bet. Then they send the funds to the smart contract that contains all these parameters and conditions. While the game is happening, the oracle is obtaining the information of the same until its end, at which time it analyzes all the conditions, and then releases the funds to the winner of the bet.
The example above is that of a bet, but the system can also be replicated to other aspects. And all this without the intermediation of a centralized platform that can be hacked, fooled your customers or censored.
Types of Oracles
This type of oracle are those that handle information online. Known as software oracles, they can extract and order information online such as weather, temperature, product prices, flight schedules, and more. All these data are then sent to the smart contract for which they were programmed. All this with the purpose of said smart contract to carry out the corresponding actions for which it was programmed.
Unlike software, hardware oracles can track objects in the real world. This is because some smart contracts require information from the real world. For example, the arrival of a bus, a boat, or tracking the movement of a car when it reaches a certain place or crosses a barrier. These hardware devices provide users with the ability to monitor entire supply chains through a blockchain.
Thus, these oracles include IoT sensors, RFID or barcode readers. The information they capture is fed into a blockchain-based delivery system, providing users with a comprehensive set of information.
Incoming and Outgoing
The incoming oracles are those that provide information from the outside to the blockchain or smart contract. They are widely used by companies and companies that want to automate different actions that depend on the introduction of information.
On the other hand, the outgoing oracles are those that give the network the possibility of sending data to the real world. For example, in smart home technology, these types of oracles are very common, since they allow, for example, to open a smart home lock once it is verified that the entry has been authorized by a private key and valid cryptographic signature.
As we mentioned in our example, there are oracles that are based on consensus to ensure reliable information that cannot be manipulated. These oracles are ideal for monitoring financial markets, as they collect information from many places to provide correct information. Since using a single data source could be unreliable and insecure.
Oracles in Bitcoin
While the Ethereum network is currently the leading blockchain for smart contract use, implementation, and execution, Bitcoin also has the ability to use oracles. A good example of this is the project developed by the Massachusetts Institute of Technology (MIT), in which it uses oracles and smart contracts on the Bitcoin Lightning Network (LN). The name of the project is lit, and you can review its source code from its web page on GitHub.
The objective of this research project is to program transactions based on the execution of smart contracts. A capacity that will provide scalability to the network and explore the capabilities and potential of this type of contract.
The work is in the hands of MIT’s Tadge Dryja. This project uses a simple oracle through which certain functionalities of smart contracts could be added to transactions carried out on the Bitcoin network. All this without representing a risk to the privacy and security of the Bitcoin network. In this way, information can be transmitted for the execution of a certain contract according to the data received.
Characteristics of blockchain oracles
- Privacy. The oracles cannot know if a smart contract has been initiated or if their information has been included in a blockchain. So a protocol is used that mixes the information supplied by the oracle before including it in the chain. Thus, the identity of the users is kept private and they are kept away from prying eyes.
- Connectivity Oracles allow smart contracts to connect off-chain with data providers, web APIs, IoT, payment systems, enterprise backends, and other blockchains.
- Centralized service. The oracles obtain information from trusted centralized services. So you need to trust that the service is sending the correct data. And although this is a problem that has not been eradicated, if solutions have been implemented to mitigate this fact,
- Monetization. The oracles have not been reasonably monetized. Therefore, in order to see the massive adoption of this type of tool, it is necessary that there is some type of incentive or reward for its operators.
Decentralized risks and oracles
The oracles, in their conception, have been thought of as a piece under centralized control, a model that is far from the decentralized model that blockchain technology advocates. This means that when using such a service, you fully trust the information of an entity that can manipulate and corrupt something that was originally designed not to be.
This is the greatest risk and disadvantage of oracles and decentralized oracles were born to avoid it. A decentralized oracle gets the information from multiple oracles and its programming makes sure to communicate to the smart contract what most oracles say. At this point the decentralization of control over the different oracles used is important.
Two very important projects in this regard are Provable (formerly Oraclize) and ChainLink, both running on the Ethereum blockchain. The two systems use the power of Ethereum Smart Contracts to build a decentralized oracle that feeds on different sources of information to finally give a result according to that data. Due to its blockchain nature, the programming of Smart Contracts can be freely reviewed and cannot be altered without the consensus of all who participate in the system. This guarantees that the information will always be valid and free from any manipulation.
Blockchain oracles use cases
The blockchain and smart contracts have introduced radical new technologies. So many companies are adapting their infrastructures to meet stringent trust verification demands. Where oracles are an essential part of this process of change. And this will grow as companies begin to increasingly adopt blockchain technology in their operations.
A widely known use case is Augur. This is a decentralized prediction market platform built on the Ethereum blockchain. Developed by the Forecast Foundation, which was founded in 2014 by Jack Peterson and Joey Krug. Augur is powered by a token named RE.
Another case is ChainLink (LINK). As we already mentioned, it offers a decentralized oracle service whose objective is to connect smart contracts with data from the real world. This in turn offers rewards and incentives to participants in the ChainLink network.
The connectivity of this network ranges from bank payments or retail payments such as Visa and Paypal, to market data such as NYSE and Bloomberg. It also allows connection between backend systems such as SalesForce and SAP. Allowing the blockchain to integrate with local payments and sales outside the network.