What Are Blockchain Oracles?
Oracles are external sensors which feed data into blockchains that smart contracts may require when they have to execute in specific conditions.
MIT (Massachusetts Institute of Technology) was the first institute to develop an Oracle successfully, but the original concept of Bitcoin oracles was first proposed by Thaddeus Dryja, a Lightning Network developer, in 2017 during one of his Discrete Log Contracts which discussed Bitcoin scalability and Lightning’s potential.
Oracles are able to activate smart contracts to execute when the pre-set conditions of the contract are met. The technology is already used by many blockchain-based platforms such as Augur and Gnosis. Both of these platforms use oracles to monitor stock markets more accurately. MIT’s Bitcoin oracle monitors the value of USD and automatically sends the value in Satoshis to a Bitcoin contract.
How Do They Work?
Oracles procure and verify external data for blockchains and smart contracts by using web APIs or market data feeds. The data needed by smart contracts can be about price feeds, weather stats, or payment completion, etc.
Leveraging oracles is done by probing the data source for specific information and then connecting to that source to serve as a link between the blockchain and the data feed. This lets the smart contracts execute by using the particular information sent from the data feed.
Real-world markets and web APIs do not usually use data feeds that are deterministic like blockchains and smart contracts. Oracles translate external and non-deterministic information into a format that a blockchain can recognize and execute certain terms with. They can even be implemented for N-of-M multi-signature transactions to reach a consensus on transaction signing.
Why Are They Important?
Blockchains lack ready access to information outside of the chain, and so there is no direct way of validating the conditions which smart contract uses. The Oracle solves this issue by translating the information provided by an outside platform.
Smart contracts cannot work without some data source. Having their access restricted to some of these sources of information, use cases for smart contracts have their potential significantly lowered.
These systems extend the use cases of smart contracts in virtually every field available. Once data reaches the blockchain, the data can be used to execute the contracts.
Types of Oracles
The notion of blockchain oracles isn’t new, and it is already in use by some cryptos to enhance the functionality of their smart contracts. There are different types of oracles which currently exist and are in use.
– Software Oracles
Software oracles monitor online information and represent the most common form of extracting data from third-party sources like web APIs. They can include real-world data such as temperature, flight statuses, and even election results.
– Hardware Oracles
Hardware oracles are sensors which are built in physical objects. These devices are used primarily in supply chain tracking which uses RFID technology to feed data such as environmental conditions, depositing spaces and other relevant information to the blockchain.
– Inbound Oracles
Inbound oracles input information from the external world. Companies use these oracles to set up automatic buy orders when the price hits a certain target or other conditions are met. For example, you could set a buy order for crypto if the price of oil goes down.
– Outbound Oracles
Outbound oracles let smart contracts to send data to real-world sources outside of the blockchain. These systems have become popular due to a rise in smart home technology. For example, an outbound oracle unlocks a ‘smart lock’ when a smart contract is completed.
– Consensus Oracles
Consensus-based oracles are used heavily by prediction-based platforms. These oracles aggregate data from numerous locations through the use of proprietary methods to determine the authenticity and accuracy of the information. They are ideal for monitoring financial markets where there are multiple sources.
The concept of oracles is, in theory, a system that brings many benefits, but there are some concerns regarding the integration of trusted sources. The Oracle Problem is defined as a conflict between third-party oracles and the trustless execution of smart contracts.
Oracles hold an enormous amount of power over smart contracts because the way they execute is based on the data they provide. Therefore, data feeds from third-party sources give that data considerable influence over the smart contract’s execution, removing its trustless nature even though it is part of a decentralized system.
Also, no one has come up with a reasonable way of monetizing oracles. In order for oracles to be adopted by the mass public, there has to be an incentive to host one.
Blockchain Oracles – Conclusion
Blockchain oracles are still a project which is under development. Developers are looking to third-parties to help with the user experience, and maybe after more research, user-friendly platforms will start utilizing the technology in the future.