What is an Oracle, and how can it be used on and off the blockchain?
2018-04-01

In our previous article titled, “What are Smart Contracts and how can they be used for assets?” we discussed some generic uses for smart contracts, how smart contracts function and ways the general uses can be applied more specifically to assets. In case any readers missed that post, here is the link to that article: https://medium.com/@SharesChainITO/what-are-smart-contracts-and-how-can-they-be-used-for-assets-89253a7b057c.

The smart contract is a useful tool that facilitates the agreement and fulfillment of any abstract exchange or trade between two parties whether it is based on assets, currencies or some other terms that can be programmed within the contract itself. Due to its automated and programmed nature, it was originally implemented to increase trust between parties as long as the smart contract is hosted by a reputable third-party. However, it has applications and uses that extend beyond these simple cases. An Oracle can work in conjunction with a smart contract to utilize the Internet of Things that also align with the real-world.

What is an Oracle?

An Oracle is an agent that is able to interact with the world outside the blockchain. It must be able to go “off-chain” and gather information that is relevant for a smart contract to be able to trigger or “judge” when and how it ought to run. Smart contracts that rely on data input from a user can be subject to human error as well as tampering. By assigning this task to an application, or program, the data can be more reliable, and the smart contract will know when to execute.

Depending on the necessary data, the Oracle may be either software or hardware, or an application that takes advantage of both:

· A Software Oracle — This type of Oracle will run online, browsing through the Internet to find the information it needs. Examples of this could be seen with data retrieval by Facebook in the sense that they have so many users, billions, and those users have been actively participating on Facebook’s platform for years. An Oracle would be able to take useful data and monitor interesting social trends in large scale population information. The utility for this example is not limited to but is easily described by the interesting and useful marketing data that companies can use by noticing and working with activity by the Facebook userbase.

· A Hardware Oracle — In contrast, this Oracle is directly gathering information from the physical world either passively or actively. This could be by means of things such as scanners and sensors. Scanners take information actively and are ubiquitous in supermarkets and stores, and they can also be seen in the retrieval of information in identification tools like licenses and passports. Sensors acquire information passively and are common in smartphones, cars and houses; they include items like GPS devices, accelerometers, flow-rate monitors, gas detectors, light detectors and touch detectors.

The user will decide whether their smart contract requires the use of a software or hardware Oracle. If it’s the highway patrol gathering information on the average speed of traffic on a Friday after work, they’ll probably need their own sensor to record the data. Therefore, the authorities would require a hardware Oracle. On the other hand, if tech-savvy sports fans are checking the scores of several sports games simultaneously, they will likely be using a software Oracle to tell them of the results and thus they can have their smart contract know where to send the winnings.

In our previous article, we outlined a simple example where a car manufacturer set up a smart contract for a buyer to acquire ownership by means of using the internet. In that example, we also showed that upon completion of the smart contract, the manufacturer could send the purchasing party a passcode for a storage unit in which the car is stored.

However, a practical application to that scenario may prove worrisome to both parties. Say the manufacturer didn’t want to release a passcode, fearing the buyer might forget to write it down and lose it during their trip to the warehouse; or possibly one of those parties is worried about the passcode being leaked to a potential hacker. Instead, the manufacturer may deem it necessary to simply open it for the purchaser remotely once the payment is confirmed and the purchaser is onsite. In this case the smart contract would need to employ the help of an Outbound Oracle:

· An Inbound Oracle — As the name describes, this is an Oracle that takes data from outside the blockchain and sends it into the blockchain for the smart contract to use.

· An Outbound Oracle — This Oracle simply does the same thing as an Inbound Oracle, but in an opposite flow path; it sends information or commands from the smart contract out of the blockchain.

The Outbound Oracle would take the confirmation from the Smart Contract and send it to the warehouse. The storage unit would receive the confirmation and automatically open its lock for the buyer to retrieve their new car by, perhaps, using a scanner like a QR code, or a sensor (like a GPS tracker) embedded in the user’s smartphone. Once again, this limits the possibility of human error along with risks in the security of information while also simplifying the process by knocking off yet another step.

By having this link to the real world, the application of Smart Contracts and Oracles can extend to virtually any field. Essentially, in this way the two important aspects of blockchain technology’s immutability and the necessity of real world data outside the chain can come together and create a most efficient system. This is precisely what the SharesChain network intends to do for companies. SharesChain will provide regulation-friendly smart contract frameworks so that they can tokenize their assets more safely, easily and cheaply, while also providing trust-scores and a safe-haven for verifiable information that can be checked by investors, service providers and other participants by using the SharesChain Platform.

As blockchain technology and Smart Oracles continue to do develop, so will the way in which certain processes and even professions are conducted. By allowing Smart Contracts and Oracles to handle the gathering and processing of information, professionals can focus more of their efforts on analyzing patterns. For example, for doctors studying the cardiac rhythms of their patients, they could potentially diagnose and treat patients with higher risk of developing heart problems before these ever actually surface. Because ECG sensors are available at nearly all pharmacies and can integrate rather simply to the IoT via computers and smart devices, these sorts of example applications are not farfetched in the least.

Our next article in this series will show how the SharesChain Ecosystem will employ the use of Smart Contracts and Oracles together to make our network flourish. We will discuss how these systems allow for putting assets on the blockchain, developing user rating systems to improve trust and what that means for cryptocurrency participants worldwide.