One area of blockchain that has been grabbing quite a bit of attention in recent years is blockchain oracles. Like many people, you may be wondering what blockchain oracles are, what they do, and who is using them. Will blockchain oracle projects further enhance the potential for smart contracts to engage with the outside world or real time data? Let's break down the somewhat mysterious topic of the blockchain oracle and see what all the buzz is about.
What are Blockchain Oracles?
An oracle in regards to a blockchain is a service that helps to bridge blockchains with other data fees or sources. They aim to do things like gather external information and allow that to more efficiently be passed on to smart contracts. Essentially an oracle can be looked upon as a bridge for data. Blockchain oracles are a tool that assists various different types of blockchains to scale well beyond their usual boundaries and allow for far more potential scaling. Furthermore, blockchain oracles improve the potential for increased adoption as friction can be reduced with some types of problems and further enhancing their potential use cases in the outside world.
A very rudimentary example that you may relate to is using the remote to operate your television. You are the external resource (you want to change the channel and use the remote), the remote works as a bridge or translated to pass on the information from your behavior when you press the button (the blockchain oracle in this example). The TV itself responds to the information and changes the channel (the smart contract). Like a cable connecting devices in your house, blockchain oracles provide a bridge that allows smart contracts to have more information by having access to sources of external data in real time without manual input in a way that can be processed.
Why are Blockchain Oracles Useful?
Many real-world problems require various sources of external data to solve or manage, the problem is that while blockchain technology can help to solve a lot of problems, often it needs data that isn't directly accessible via more traditional means on-chain. Blockchain oracles are able to assist with this by allowing information to be pulled from off-chain sources which can then be used by an on-chain smart contracts to perform advanced tasks that would otherwise be prohibitively difficult.
Connecting blockchains with more data sources and different types of data feeds allows for far more flexibility and increases the potential for blockchain and fintech projects to solve problems making them a very useful tool as crypto integrates more with traditional services and infrastructure around the world. Smart contracts can be very powerful tools, but getting what they need to make accurate and useful decision in terms of a data source can be a challenge, by using a blockchain oracle smart contracts can source what they need from the outside world in real time without someone having to manually process and input data for the system to act upon.
Inbound and Outbound Oracles
Getting data out can be just as useful as getting data in, this is why there are not only inbound oracles but outbound as well. Passing a blockchain event to an external application or other entity that is off-chain allows for actions that happen on-chain to be acted upon in some way. So understanding the difference between inbound and outbound oracles are pretty straight forward, data going into the blockchain to be acted upon would be inbound, data going out to be, outbound. While outbound oracles may have less obvious use cases, there are still plenty of reasons they can be a fantastic resource for those looking to integrate blockchain technology for real-world applications powered by smart contracts and similar technology.
Software oracles are one of the easiest to understand use cases for and how they can be useful. Using a software oracle, you could gather information from servers, databases, websites, applications, and virtually anything that is accessible via the internet and provides some useful data. When it comes to the different types of blockchain oracles, software oracles are the most common way to get information from off-chain into a smart contract and allow off-chain data from the outside world to become on-chain data.
While these will typically deal with software layers in between, using these gives developers the ability to access information from the physical world and specific environments and use that to engage with a smart contract or other form of blockchain technology. A basic example would be to gather and manipulate data from weather events, or other types of sensors that are used all throughout the modern world. Hardware oracles make it possible to attach real-world events to blockchain actions. Many supply chain projects in crypto are focused on using hardware oracles to do things like monitor the movement of goods (such as when they are scanned at a depot) as they move along the supply chain and reach the consumer using this data alongside smart contracts.
Prediction Markets are Where Oracles Get Interesting
While from the outset, a project like Augur may merely seem like a way to gamble using crypto with the help of smart contracts. Yet, if you dig a little deeper, there is some impressive and amazing potential hidden beneath the surface. While many tasks operate just fine with a fully centralized oracle, especially those used for many business integrations for some functions where external parties are interacting together, you benefit from decentralizing the oracle as much as possible.
Augur is an excellent example of how prediction markets powered by smart contracts can show us the value of a decentralized oracle. When you use Augur the primary job of the developers in handing the predictions is merely to set them up; they can't reverse transactions, and they can't cancel your prediction so they could gain an edge themselves. Their aim is to be as separated from the process as they can be. While not something you could consider completely trustless they have done an exceptional job at producing a system that uses voting by those that have something to lose (Augur token holders) as well as allowing the outcome of a vote to be disputed to provide another layer of protection, it's not a perfect system. Still, it is an exceptionally commendable achievement and one of the best examples we have of a prediction market powered by blockchain technology and smart contracts.
Decentralized Oracles Have Huge Potential
Removing as much third-party intervention from an oracle as possible makes it all the more powerful as it can be trusted not to be corrupt or to meddle with the data in any way for its own benefit, it merely takes the data in and acts upon it in a set way. Machine learning models could even be trained with large datasets to make decisions without human interaction allowing a combination of oracles and smart contracts to make even the toughest decisions using pure external data. At the same time, it would still have the potential for bias if the third-party training the model did so poorly. However, this opens up some incredible possibility as well that further extends the potential for oracles. Crowdfunding, fintech applications, voting, insurance and much more could all be far more trustworthy with the use of decentralized oracles combined with a smart contract that controls what occurs based on each potential outcome.
As the external world further embraces the growth of blockchain the decentralized oracles could revolutionize many industries. A data source always has a risk for bias when a third party is engaged in the job of passing that data along, removing human interaction with data helps remove emotional bias and potential corruption allowing. Using not just a smart contract to make a decision but even decentralizing how the contract sources external information can have a huge impact on the way we go about solving problems.
The Trustless Oracle Problem
Building oracles is something that many projects are getting involved in, and the more they attempt to decentralize them and make them more trustless the more problems they have to deal with to do so. In crypto often terms are used a little loosely while attempting to solve problems, the term decentralized is often thrown around and a prime example of this. In most situations, there is some degree of centralization; even if it is the smallest part of the process, the same goes for calling things trustless.
Many projects look to reduce this issue by doing things like using multiple oracles engaging with smart contracts, but this comes with its own problems such as majority attacks and other forms of potential manipulation that can mostly only be minimized by scaling up the network with adoption (at least so far). Many of the same issues faced by using multiple oracles together to increase trust and decentralize them further are mirrored by potential attack vectors that have been used or attempted on other types of blockchains in the past.
While it is a complex issue, there are a few significant factors that come into play:
- How to decide if the data is accurate and where to source the data
- Agreeing on what to do with the information (such as passing it to a smart contract)
- What to do when there is a disagreement or dispute
There are many blockain oracle projects that are all trying different approaches to solve these problems. Hopefully, some of them reach a place that one day could be considered genuinely trustless. Until then, for many use cases, some solutions work well enough most of the time that they are still very practical. With the many blockchain projects that are delving further into our external world to grab at different types of data sources to provide various data points, the interesting topic of the blockchain oracle is likely one that will persist and develop with time, especially as smart contracts and other blockchain technology continues to grow and evolve.
If you want to get some crypto yourself to start exploring more of the potentials for cryptocurrency, LocalCoinSwap can help! Get started trading bitcoin and more P2P. You can also join our Telegram community or follow us on Twitter & Facebook. To find more articles like this one, you can check out our Blog.