A Blockchain or any other type of Decentralized system is a game-changer technology. The ways it is changing the financial world are evolving. None of these innovations would be possible without means for Blockchain or a DLT to receive information from the outside. This is where Oracles come into play.
What are blockchain oracles?
Decentralized networks are only able to read information from within the system. A blockchain is only able to interact with information that is stored in the network. This represents a very big limitation for those protocols that host smart contracts.
For example, if I had a decentralized exchange and wanted to know the price of Tether/Ethereum outside my market, I would not be able to do it. This is because exchanges outside of my blockchain are inaccessible from within.
This is where oracles play out. These systems find information from the outside world and verify its validity to be incorporated in the blockchain. Oracles are crucial for the correct operation of smart contracts. The DAI stable coin would not exist if oracles weren't constantly updating the protocol about the current price of the assets used to issue DAI.
There are two types of oracles used to accomplish this. The first is Deterministic Oracles, and the second is Consensus Oracles.
These types of oracles are direct data feeds connected to the smart contract. They gather information directly from an outside source that is considered trusted. For example, a smart contract for insurance needs to know the weather at certain times. The oracle would connect to a trusted weather system and update this information directly. The oracle provider would issue a certificate included with their information naming the source of the forecast. The certificate only verifies that the original source provided that information.
This means that if the source itself is wrong, the oracle still did its job. The oracle has the responsibility of updating the smart contract with information from the selected source. Of course, the problem then becomes, how are trusted sources selected? The definition of a good source depends on the criteria used by the oracle provider, and the developer of the smart contract has to trust them. In a way, this is an off-chain centralized solution.
As their name implies, these are oracles that rely on group participants reaching an agreement on the nature of the information. A network of evaluators is created to judge the validity of the smart contract's information. This could be something like the exchange rate of dollars versus euros. All of the nodes in the network gather data about the current exchange rate and compare the results. Those results with a clear majority are judged to be valid and then are passed to the smart contract.
This is one classification of oracles. We can also separate them in:
These are oracles that bring information from the outside world into the blockchain. As our previous example of the weather oracle updating the smart contract.
They perform the opposite operation of bringing information inside the blockchain to the outside world or other blockchains.
These are physical devices that update a smart contract about environmental data. A supply chain blockchain needs to know the temperature in the warehouse where the goods are located. The sensors update the smart contract to ensure that the goods are being kept in optimal conditions.
These oracles interact with sources of information that are not physical. One example could be an oracle that reads forex exchange rates and constantly updates them for a smart contract used in an exchange.
As we can see, oracles provide an essential service to blockchains and smart contracts. They do the heavy lifting of delivering verifiable information that is then used to execute smart contracts according to specific conditions. Some of the oracles out there are;
This is an Ethereum based oracle provider. They create a market-specific oracle that is programmed into a smart contract. The user does this by staking the native token of Auger called REP into their system. Each smart contract is single-use, so this means users have to generate oracles per individual case.
A popular service of late due to their token LINK's explosive rise, Chainlink is another Ethereum based oracle provider. Unlike Augur, they use a separate network of nodes that verify information off-chain and are rewarded for their service using the LINK token. Right now, the team behind the protocol is looking to make it compatible with other chains besides Ethereum.
This oracle gathers information from native sources. They collect the data and generate certificates that are included in the data provided to the in-chain user. They manage a collection of APIs that are meant to connect the smart contract with the outside sources of information. These are also in charge of generating the certificates and converting the external data into a readable form for the in-chain system.
The use of oracles to report events from the outside world into the blockchain and the other way around is critical. They are at the core of the proper functioning of many of the DeFi products, which are pushing adoption. Their function is hard to downplay, and as the blockchain industry grows, their importance will only increase.
It is essential to keep track of their progress and understand the differences between them. They are the hidden players working under all the services we have come to use and rely on our daily use.