ORACLES CONNECT SMART CONTRACTS TO REAL WORLD

Ethereum-based Smart Contracts are simple but are very effective forms of code that is designed to provide services or goods in exchange for certain values that can be monetary or time-based being fulfilled. as they are completely based on the Ethereum network, the information provided will be limited in order to not overwhelm the lightweight nature of the Blockchain. Smart Contracts is like a judge which requires a solid and a reliable source of information to make correct and proper judgements. In order to overcome this the Oracles are introduced.

Oracles

Oracles are trusted data feeds that send information into the smart contracts by removing the need for Smart Contracts to directly access the information outside their network by lightening their workload. Oracles can be supplied by the third parties and are authorized by the companies that use them.

Critics will highlight the irony of using third parties to solves an issue on a decentralized platform that boasts of reducing the need for such intermediaries. Here, Oracles are the necessary step forward in the practical utilization of the Smart Contracts and for the utilization of real world data in Smart Contracts requires reliable Oracles.

The issue of transferring information through Oracles is a subject of much debate among Smart Contract users and developers. In businesses like, simple service retail or travel services, Oracles handle the task well by supplying yet crucial information to Smart Contracts that can decide what to do afterwards. For instance,a Smart Contract being fed information by a trusted bank’s API and delivering the promised or said amount to the user, which seems very simple.

In case of more complex tasks like, renting properties or providing entertainment services, Oracles have to recognized and send a multitude of data feeds and various types of information which becomes more complicated with the physical items,

for example: renting a car. Car rentals must evaluate if everything is in working order, but there are many parts to an automobile which requires a large number of data feeds that are sending information into the Smart Contracts and thereby sending them onto the Blockchain.

There can be many ways to counteract which involves the use of multiple data feeds and these are also employed for simpler types of the information which carries the greater weight that is by necessitating more caution and precision in analyzing the information provided to the Smart Contracts. If in case each type of information not only requires several data feeds but there are multiple types of information provided  for multiplying the amount of information an Oracle needs to push onto the blockchain.

The main problem of the centralization and the decentralization is at the crux(the decisive or most important point at issue) of the Smart Contract and Oracle debate. As the Smart Contracts and the Blockchain are in essence decentralized while Oracles are not decentralized, so it not only provides a philosophical obstacle but it also provides a practical hindrance for widespread utilization of Oracles

LINK are used in attempting to smooth out this main problem by creating the world’s first truly decentralized Oracle Network by allowing Smart Contracts to securely connect to off-chain (real) feeds such as API’s or the widely-accepted payment systems.

Example: SmartContract, its a company name with the concept of smart contracts is launching phase one of its long-term project that seeks to connect the back-office Swift systems of the banks to Smart Contracts, for essentially becoming an Oracle between banks and Blockchain Smart Contracts.

One more service seeking to connect the “wallet gardens” of Smart Contracts with the wider world is Oraclize, a London-based fintech company that has a vision of creating a versatile and reliable connection between web API’s and Dapps.

Bethereum is a decentralized, social-betting platform based on Ethereum technology and Smart Contracts, and is a sports betting platform where Smart Contracts will depend on an Oracle that will use a multitude of official and trusted sports feeds to evaluate results and reward winnings. Mainly Bethereum is about social betting, where players bet against each other instead of betting against the house, Smart Contracts will also govern the entire betting process between the included players.

Smart Contracts have a tremendous potential for business and will be defining feature of the Blockchain in the future. this potential needs to be unlocked by developing and utilizing well-designed Oracles to connect the Blockchain with the “real” i.e, the off-chain world. The advent of Oracles and the power of already robust Blockchain and Smart Contract technologies.

ORACLES, SMART CONTRACTS AND THE ORACLE PROBLEMS

Smart contracts running on blockchain networks have a significant potential to increase efficiencies and reduce transactional costs across an array of industries. Smart contracts effectively minimize counterparty risk and provide transparency, but still it faces several limitations to their capacity.

The growing need for external data flowing into blockchains and, by extension, smart contracts has led them to the debates and innovation around Oracles. Oracles are data feeds from external systems that feed vital information into blockchains that the smart contracts may need to execute under specific conditions. The growing need for oracles represents the continued expansion of blockchain systems into practical and real-world use cases,where accurate data is crucial.

Oracles represents a third-party feeds which require a permission from the external devices/entities. Hence, correctly implementing oracle network comes with multiple challenges. This defines how can anyone trust oracles and become the decentralized networks of information that blockchains need to bridge the gap between the on-chain and the off-chain interaction.

Smart Contract and Oracles

The concept of Smart Contracts wa proposed by Nick Szabo in the early 1990’s and his projections for their implementation and use are astonishingly accurate relative to their existence.

A Smart Contract at the high-level is a computer program comprised of code which defines its functions and state. Smart Contracts are typically referred to as operating on blockchains, where they can autonomously and transparently execute under specific conditions that are met over a distributed network. Blockchains transfer their immutability to smart contracts as once they are committed to the chain they cannot be changed.

The Smart contracts have a trustless execution where, the need for intermediaries is removed, and the traditional transactional functions are minimized and their ability to execute based on hard-coded parameters is exceedingly useful in variety of scenarios like legal agreements and automated payments systems.  

Inspite of all the clear benefits of the smart contracts are limited to a walled garden of on-chain data and the information within the blockchain and this limits their capacity to interact with the real world data and execute based on conditions outside of the blockchain network they exist on.

Oracles

The main notion of the oracles even when they are decentralized oracles that has been around for years and continues to fuel debate about how to implement them and whether they can be trusted

When API’s or market data feeds are the methods used by Oracles to retrieve and verify external data for blockchains and smart contracts. The type of data required by smart contracts includes the information on the price feeds, weather information or even random number generator for gambling. The querying of data source for specific information and subsequently connecting to that source to interface between the blockchain and the data feed. As a result, smart contracts can execute based on the particular information flowing from the data feed.

In the real-world markets and the web API’s for Data feeds are usually not deterministic like blockchains and smart contracts. Oracles will act as a bridge that can digest external and non-deterministic information into a format that a blockchain can understand execute particular conditions with. Orcales can even be used for N-of-M multisignature transactions to reach consensus on which transaction to sign, in relevant scenarios.

Oracles form the basis of platforms like Augur, which is a decentralized prediction market where Augur is more representative of complex oracle itself that functions as a data feed based on the wisdom of crowd where the participant behaviour effectively acts as the data source. Augur also utilizes oracles for reporting the result to prediction markets with an incentive structure driving honest reporting.

There are several forms of oracles including:

  1. Hardware Oracles
  2. Software Oracles
  3. Consensus Oracles
  4. Inbound Oracles
  5. Outbound Oracles

Hardware Oracles: They are sensors integrated with tangible physical objects and the primary examples would be in supply chain tracking with the use of RFID tags for feeding like environmental conditions of products to the blockchain.

Software Oracles: They are the most common form that pull data from third-party sources such as Web AP’s and can include real-world information like the flight statuses and weather data.

Consensus Oracles: They represent a step towards decentralized oracles and they rely on aggregating data from several oracles with proprietary methods for determining their authenticity and accuracy.

Inbound Oracles: They reflect on “if this happens then do that” scenarios associated with software oracles such as ” if this price is met by an asset, then trigger a sell”.

Outbound Oracles: They allow smart contracts to send data to sources outside of the blockchain network they exist on and are also software oracles.

The potential ability of the oracles to bridge off-chain and on-chain data as an interface between traditional networks and blockchain networks has important long-term ramification. Since, the inherent problem is that these oracles are from centralized points of origin that typically require third-party permission. Additionally, the obstacle of authenticating oracle data is where trust-minimized systems like blockchains and traditional trust assumptions clash.

The Oracle Problem

The oracle problem is defined as the security, authenticity and the trust conflict between third-party oracles and the trustless execution of smart contracts, so that the digital world needs to know about the physical world. The Jimmy Song provides an excellent breakdown of fundamental problems of oracles and smart contracts.

Oracles retain an enormous amount of power over smart contracts in how they are executed because the data they provide determines how the smart contracts execute. Therefore, data feeds from third-party sources give that data substantial influence over the execution of smart contract, removing its trustless nature as part of decentralized network.

In the context of tethering physical assets to the blockchain the oracles are not capable of providing trustless verification that ownership of an asset such as a house is actually transferred to the new owner, even if the new owner holds a token representing ownership on the blockchain. Possession in a smart contract does not always transfer to possession in the real-world,thus removing the killer application of smart contracts, trustless execution. This is a result of the smart contract needing to rely on some third-party verification of events in the real world, in the form of an oracle.

The limitations of oracles in regards to blockchains and smart contracts are well-documented with some substantial research into how to effectively implement them. Platforms tackling the oracle problems includes Delphi, Oraclize and ChainLink. Essentially, these platforms are predicated on building decentralized oracle solutions by leveraging consensus-based oracles, decentralized marketplaces, and novel methods of authenticating oracle data.

Even though the smart contracts have an incredible potential to improve the way to do all sorts of things. In order to do interesting sorts of things both the smart contracts and the good oracles are required.

What is an Oracle defined as?

An oracle is defined as just a provider of data which gives smart contracts answers to the questions about the world. But in many cases, without an oracle supplying information, there would be no way for the smart contracts to be able to know the things it needs to know inorder to do its job.

Importance of Oracles

Oracles can determine what a smart contract sees, it means it controls the inputs to the smart contracts, it also holds the power to control what the smart contract does in response to these inputs. In terms of prediction market contexts, the Oracles possess an enormous amount of power when it comes to smart contracts. If the oracle is compromised, so the entire system contract that is, if this is one reason why centralized oracle services are not considered a serious solution to “ The Oracle Problem” in many cases. As soon as you make a smart contract rely on a single central oracle, which means the they have totally sacrificed any decentralization-related benefits.

Inorder to search a Perfect Oracle

Augur team has spent a long years on working towards the decentralized oracle solution, where they have developed an intricate model in which token holders can “vote on the truth” and then other token holders can dispute the results of that vote(which process that can be iterated). They have also presented relatively solid arguments that this process will reliably converge to truthful oracle outputs, although the model isn’t perfect and unsurprisingly, there is room for improvement.

On the other end of the spectrum there is Gnosis, who neglected to give a serious treatment to The Oracle Problem at all, instead of defining generic “oracle interfaces” and leaving specific implementation details open for others to experiment with. They seem to be hoping that “someone will figure something out eventually” and that they will simply “plug their solution into Gnosis” when everything is said and done. While this approach does have the nice benefit that it makes the Gnosis platform more flexible and future-proof, by not trying them to one particular implementation, it means that if Gnosis are not able to provide a practical initial distributed oracle foundation to build from, it is highly unlikely that the project will ever be able to get past the early stages and grows into something truly useful for the world.

Gnosis has 2 problems when it comes to the oracle problem:

  • use a centralized oracle
  • use the “ultimate oracle” which ultimately represents Rule by Wealth rather than any serious attempt at realizing a truthful decentralized oracle solution.

 

archana on Email
archana
Block Chain Research Analyst At Nvest
I completed my graduation in B.E with the specialization of Computer Science in PESCE.
Now i am doing M.Tech in the Specialization of Computer Science in BIT. I am working in Nvest as Block Chain Research Analyst.
WhatsApp chat