Ethereum-based Smart Contracts are simple but effective forms of code designed to provide services or goods in exchange for certain values (be they monetary or time-based) being fulfilled. However, as they are wholly-based upon the Ethereum network, the input of information must be limited in order to not overwhelm the lightweight nature of the Blockchain. In essence, the Smart Contract is a judge, yet it needs a solid and reliable source of information to make correct judgements. This is where Oracles come in.
Oracles are trusted data feeds that send information into the Smart Contract, removing the need for Smart Contracts to directly access information outside their network, thus lightening their workload. Oracles are usually supplied by third parties and are authorized by the companies that use them.
Of course, critics will highlight the irony of using third parties to solve an issue on a decentralized platform that boasts of reducing the need for such intermediaries. But Oracles are a necessary step forward in the practical utilization of Smart Contracts. The utilization of real world data in Smart Contracts requires reliable Oracles.
This all sounds quite easy on the surface, but in fact the issue of transferring information through Oracles is a subject of much debate among Smart Contract users and developers. In many businesses cases such as simple service retail or travel services, Oracles handle their task quite well, supplying basic yet crucial information to Smart Contracts that can then decide what to do afterwards. Imagine, for instance, a Smart Contract being fed information by a trusted bank’s API and the delivering the said amount to the user. Pretty simple, right?
But In the case of more complex tasks, such as renting properties or providing entertainment services, Oracles have to recognize and send a multitude of date feeds and various types of information. This becomes more complicated with physical items, for instance, renting a car. Car rentals must evaluate if everything is in working order, but there are so many parts to an automobile that it would require a massive number of data feeds sending information into the Smart Contract and then pushing it onto the Blockchain.
There are some ways to counteract this, most of which involve the use of multiple data feeds. Multiple data feeds are also employed for simpler types of information that carries greater weight, necessitating more caution and precision in analyzing the information provided to the Smart Contract. But take it a step further, and think about a case where not only does each type of information require several data feeds, but there are also multiple types of information, multiplying the amount of information an Oracle needs to push onto the Blockchain.
The issue of centralization vs. decentralization is at the crux of the Smart Contract and Oracle debate. Since Smart Contracts and Blockchain are in essence decentralized while Oracles are (at least in their most common form) not, this not only provides a philosophical obstacle but also a practical hindrance for the widespread utilization of Oracles.
LINK are attempting to smooth out this issue by creating the world’s first truly decentralized Oracle network, allowing Smart Contracts to securely connect to off-chain feeds such as APIs or widely-accepted payment systems.
SmartContract (a company, its name not to be confused with the concept of a Smart Contract) is launching phase one of its long-term project that seeks to connect the back-office Swift systems of banks to Smart Contracts, essentially becoming an Oracle between banks and Blockchain-based Smart Contracts.
Another service seeking to connect the “walled 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 APIs and Dapps.
Smart Contracts have tremendous potential for business and will be a defining feature of the Blockchain in the future. However, this potential needs to be unlocked by developing and utilizing well-designed Oracles to connect the Blockchain with the ‘real’ (off-chain) world. The advent of Oracles and companies specializing in their development and use will boost the power of the already robust Blockchain and Smart Contract technologies.