Even as the theoretical evidence for the efficacy and revolutionary impact of blockchain and smart contracts on essentially everything keeps piling up, the Oracle problem stands as a major roadblock for the real-world adoption of the technology.
There seem to be very few functions, businesses, and industries that are likely to remain untouched by the impending blockchain revolution. And their numbers are decreasing as new applications for the technology are being constantly conceptualized. However, there are still doubts looming over the future of blockchain, especially regarding the ability of blockchain to deliver real business value. Similarly, an extension of blockchain, the smart contract, also promises myriad applications, benefits, and business value.
These automated computer protocols can facilitate the transparent and trustless execution of agreed contracts in a digital environment, enabling blockchain to execute contract-driven transactions across the distributed network. However, due to technological immaturity and the presence of inhibiting factors like the oracle problem, smart contracts have had a sluggish start to their mainstream career, as it were. Real-world applications of smart contracts will have to wait, at least for the foreseeable future, until the oracle problem finds a feasible solution. Read on to know the potential impact of smart contracts, explore the oracle problem in detail and take a look at potential solutions for the same.
The many applications of smart contracts
Smart contracts, as discussed above, essentially automate transactions when their triggering clauses are met in the real world. For instance, consider an auto insurance case. The traditional process of claiming the payout upon, say, an accident, may involve the analysis of the circumstances of the accident, gathering the proof for the accident and ensuring the absence of foul play, getting the approval from the insurance companies, and then getting the money transferred through concerned banks to the beneficiary. This process consists of a few necessary and a lot of less-than-necessary steps that could be done away with, saving both time and resources for the different parties involved. Automating the transfer of the insured amount to the beneficiary account as soon as the claim is validated will make the process streamlined and convenient for everyone involved. This can ensure that the money reaches the insured party when it’s actually needed, without needing to go through multiple intermediaries.
Smart contracts can be used in many such scenarios to streamline transactions by creating a trustless system. In these systems, the completion of a clause in a contract is verified through the consensus of the participating nodes on the blockchain network, so there is no need for the involved parties to trust or even know each other. Smart contracts can, thus, foster trade and commercial transactions between cross-border entities without these parties needing a trusted intermediary, as the system itself is intrinsically founded on trust. With continued innovation and improvement, blockchain can be used to store and transfer real-world assets, such as real estate, using smart contracts. Blockchain can transform the very foundation of the global economic system by creating a decentralized worldwide network to facilitate the exchange of value.
As appealing as that may sound (if you are pro-globalization, that is), there is a major obstacle that needs to be hurdled over before the idea materializes in the real world. In fact, the same issue needs to be fixed to use smart contracts for almost any non-cryptocurrency application. The problem is finding a way to deliver or feed accurate, real-world information to the smart contract for it to function as a smart contract, a.k.a. the oracle problem.
The Oracle problem
Well, it may sound easy when I say ‘supply information to smart contracts’, but the actual problem isn’t as simple as that. You see when smart contracts function as a part of a cryptocurrency blockchain, transactions are authorized through achieving a consensus among the participants of the decentralized network, ensuring that there is complete transparency and no chance of foul play (which is possible in a centralized system). Thus the information that needs to be sent to the smart contract to execute the programmed transactions is provided by the blockchain network itself. The challenge is extending this capability to real-world problems where the information governing the smart contract. An oracle is the medium that conducts the flow of information from real-world sources to the smart contracts.
The oracles that are currently used happen to be centralized, singular sources that can easily be tampered with to manipulate the data supplied. There is no known way to reconcile this aspect with the decentralized nature of blockchain and hampers the trust aspect of the system. And if you haven’t been paying attention, trust is a primary value proposition of blockchain and smart contracts.
So, for instance, let’s revisit the hypothetical auto insurance scenario. After the accident occurs, the information validating the claim must be transferred from a real-world source—in this case, the insurance provider. The insurance provider is the single, central source of information. The central source of information, although necessary, diminishes the essence of the distributed ledger that is blockchain. The challenge—if a universal decentralized transactional system is the ultimate aim—is to find a way to make decentralize and distribute the oracles.
The possible solutions to the oracle problem
For most applications that involve the use of public sources of data, getting consensus among the different sources or oracles can solve the oracle problem. For instance, stats from sporting events, financial market information, outcomes of public polls, etc. can all be sourced from multiple nodes. These nodes can be verified for reliability and trust before including them into the exclusive blockchain network. This blockchain network can be used to verify data through consensus over the veracity of data. Using such systems ensures that trust prevails even when real-world data is fed into the smart contracts, maintaining the transparency to a greater extent than the existing single-oracle networks.
The oracle problem can serve as an opportunity for enterprising entities to offer oracle verification services or come up with more effective ways of overcoming the oracle problem. Even governments can step in to provide highly secure and decentralized oracle networks and establish regulation. Even businesses contemplating the use of blockchain networks for themselves can find ways to generate revenue by providing oracle-related services to external users of smart contracts. Businesses that provide oracle verification services are already emerging with novel business models and are nudging smart contracts towards mainstream, real-world adoption.
The oracle problem is just one of many challenges that blockchain and smart contracts need to do away with if they are to propagate beyond their sole existing application area—cryptocurrency. In addition to solving the oracle problem, blockchain also needs to overcome other problems that of power efficiency and the absence of regulators. Once these hurdles are crossed, there is little doubt about the revolutionary impact that blockchain and smart contracts can trigger through decentralization.