BLOCKCHAIN: RED PILL OR BLUE PILL?
NO MATRIX, WE KNOW THE BLOCKCHAIN ORACLES
Luckily for us, we are not trapped anywhere and the reality of cryptocurrencies is not the Matrix, but there is one thing in common with the movie: the oracle.
Blockchain oracles are third-party services that provide external information to smart contracts. Hence its enormous usefulness and potential as they allow us to create a bridge between the crypto and real worlds: blockchain and smart contracts cannot access information and data that are within the same network (off-chain). However, for many contractual arrangements, it is vital to have a service that sends and verifies real-world information relevant to a blockchain or smart contract. Oracles are critical within the blockchain ecosystem as they expand the scope in which smart contracts can operate. Without blockchain oracles, smart contracts would have very limited use; they could only access data within their networks.
It is important to note that a blockchain oracle is not the data source itself, but rather the layer that collects external information and then authenticates and transmits it. The data transmitted by oracles takes many forms: price information, the successful completion of a payment, or the temperature measured by a sensor.
Some of them manage not only to transmit data to smart contracts, but also to send it to external sources.
How useful can an oracle be? Actually, there are many different types of oracles, their modus operandi depending entirely on what it is designed for.
Software oracles
These types of oracles are those that manage online information. This information can come from databases, servers, any data source on the web.
All of this information has the ability not only to be sent to the smart contract it was programmed for, but also to be transmitted in real time. This feature makes them one of the most common types of blockchain oracle.
An example of information provided by software oracles could be weather, temperature, product prices, flight schedules, etc…
Hardware oracles
Unlike software, hardware oracles, can track -on behalf of smart contracts- real-world objects. These hardware devices offer users the ability to track entire supply chains through a blockchain. Essentially, a hardware oracle “translates” events in the real world into digital values that can be understood by smart contracts. An example would be when a sensor checks to see if a truck carrying goods has arrived at a loading dock. The information they capture is fed into a blockchain-based delivery system, providing users with a full set of information.
Inbound and outbound oracles
Inbound oracles transmit information from sources outside of smart contracts, they are used by companies and corporations that wish to automate different actions that depend on the introduction of information. Case in point, outbound oracles send information from smart contracts to the real world. A practical example is in home automation, which allows us to open a home lock by verifying that the entry has authorized the following action through a private key and cryptographic signature.
Centralized and decentralized oracles
A centralized oracle is controlled by a single entity that can manipulate and corrupt something that was originally designed not to be. The fundamental problem with centralized oracles is the existence of a single point of failure, which makes contracts less resistant to vulnerabilities and attacks.
A decentralized oracle obtains information from multiple oracles, sharing some of the goals of public blockchains. Its programming makes sure to provide information to smart contracts based on multiple sources of truth. The smart contract communicates with multiple oracles to determine the validity and accuracy of the data — which is why decentralized oracles are also called consensus oracles.
The communication between blockchain and smart contracts has introduced radical new technologies, where oracles are an essential part of this changing process. This mechanism will grow as companies begin to increasingly adopt blockchain technology into their services. These technologies remain one of the key elements to implement securely and reliably. Oracles have the potential to introduce protection systems that could eliminate many of the risks of the blockchain ecosystem and help it grow.