Blockchain oracles are a third-party service that allow smart contracts on the blockchain to access external data. Smart contracts do not have external connectivity by default, so oracles serve as a bridge from off-chain to on-chain data. Without blockchain oracles, smart contracts would have extremely limited use because they would only be able to access data within their network. Oracles do not source data, but rather verify and authenticate external data and relays the information. They can be used to facilitate payments, weather data, shipping and logistics, derivatives, and other more complicated use cases.
Blockchain oracles can be classified by a few different qualities; source, direction of information, and trust. Is the data coming from software or hardware? Is the data going inbound or outbound? Is it centralized or decentralized?
Software Oracles
Software oracles interact with online information, then transmit the information back to the blockchain. Information comes from servers, online databases, or any source of data on the web. Software oracles are some of the most common types of blockchain oracles because they can transmit information in real-time. Information provided by software oracles include flight information, digital asset process, and exchange rates.
Hardware Oracles
Hardware oracles focus on getting real-world information to smart contracts. They are able to translate real world events and data to digital values that can be understood by smart contracts. The information is collected via electronic sensors and/or barcode scanners.
Inbound and Outbound Oracles
Inbound oracles transmit information from external sources to a smart contract, and an outbound oracle sends information from a smart contract to an external source.
Centralized Oracles
A centralized oracle is controlled by a single entity and is the only information provider to the smart contract. Centralized oracles can be risky because there is only one entity providing information, meaning any potential malicious interference will have a direct impact on the smart contract. Single point failure makes the smart contracts more vulnerable to attacks.
Decentralized Oracles
Consensus oracles, also known as decentralized oracles, increase reliability of the information provided to smart contracts because it does not rely on a single entity as a source of truth. The smart contract allows multiple oracles to determine the accuracy and validity of the information.
Contract-Specific Oracles
Contract specific oracles are designed and used by a single smart contract. Meaning, to deploy several smart contracts, the same number of contract-specific oracles must also be developed. Developers have a lot of flexibility with these oracles because they are designed from scratch and serve a specific use, but these oracles are also very time consuming and expensive to maintain.
Human Oracles
Individuals with specialized knowledge in a particular field can serve as oracles. Human oracles research and verify the information with various sources, then translate that information to smart contracts.
The main issue when dealing with oracles is that they are not a part of a main blockchain consensus, meaning they are not included in the security mechanisms that public blockchains provide. If an oracle is compromised, so is the smart contract. There is a trust conflict between oracles and the execution of smart contracts. Luckily, decentralized oracles could potentially introduce a mechanism that could eliminate some risk. Oracles open the door to a world of opportunities for blockchain that would not be possible without communication between smart contracts and the external world. This communication is necessary for large scale blockchain adoption. Oracles are needed to have a secure, dependable, and trust less blockchain ecosystem.
To stay updated on the unique use of HELO™ oracles, head over to the HELO™ website!