Oracle is an agent that finds and confirms real-world events and submits this data to a blockchain to the usage of smart contracts. This agent can be software, hardware, and human.
The Oracle in the blockchain is a trusted source of data that sends information to the blockchain for use by other smart contracts. Ethereum-based platforms Augur and Gnosis are already using oracles for receiving data about stock markets. All in all, Oracles are an essential part of multi-signature contracts. Blockchains like Tezos and EOS are examples of Oracle usage.
Smart contract is tough to write. It takes much time and hard work. Once it's done, the information which was used is outdated. Smart contracts need Oracles to resolve the details that cannot be unequivocally known at the time it was written.
Provable is designed especially for Ethereum-based products (dApps). Its Oracle solution automates event checking and cryptographic oracle submission. Realitio offers a similar mechanism of work. Verity built the world's first decentralized human oracle, that uses the wisdom of the crowd to collect and verify real-world information and connect it to any smart contract.
To illustrate, consider that Alice and Bob initiate a wager on what the temperature will be on a Saturday. Alice believes that the temperature will be 20 °C or above, conversely, Bob believes that the temperature will be 19 °C or below (to the nearest whole number). They design a smart contract (which they will both send funds to) that pays out to the winner depending on what the temperature is. In order for the smart contract to determine the temperature, and thus, payout to the winner, it must query a trusted source, or an oracle, and use the result to begin a path of execution. After querying a local news website for the weather, the value returned is a temperature reading of 24 °C on Saturday. The smart contract then executes on its conditions and sends all the funds to Alice. In this situation, a local news website is an oracle.
Types of oracles
The idea of blockchain Oracle isn't new, and numerous cryptocurrencies as of now use this innovation to provide their clients with progressively strong smart contracts. Here are the various sorts of Oracles that exist today.
Software oracles handle data accessible on the web. E.g., the temperature, costs of products and merchandise, flight or train delays, etc. The information originates from online sources, similar to organization sites. The product prophet extricates the required data and pushes it into the smart contract. This type of Oracles is the most applicable to the events verification on the other blockchains.
Hardware Oracles track real items, for example, a vehicle entering a specific zone. These sorts of Oracle require new hardware sensors to finish these assignments. There is another case of usage. It is RFID sensors in the supply chain industry. The most important thing is to supply data without any sacrifice of security. For example, Provable propose a two-factor solution to risks: It provides cryptographic proofs of reading and anti-tampering mechanisms that make it inoperable if it is hacked.
Human Oracles are the most progressive ones because of an independent view of the event result.
Inbound Oracles use online-world sources of info. Organizations are looking to these Oracles to set up programmed buy orders until all of the specific assignments are completed. For instance, if the USD price is below 0.8 EUR, the buy order will be completed.
This option helps smart contracts to send data to the world outside the blockchain. For example, when smart lock receives payment on its blockchain, it unlocks automatically.
Prediction markets depend intensely on Oracles to affirm future results. If the company use only one source of information, it can be unsafe. To keep away from market control prediction markets make a rating system for Oracles. To make the process safer, several oracles can be used; for instance, 6 of 10 Oracles can define the result of the event.
Oracles require trust. Issues emerge from using only one Oracle for event resolutions. For instance, some events may require specific information or the sheer volume of events may overwhelm a single Oracle. A special concern is the risk of an oracle defrauding participants by buying shares in a profoundly far-fetched result and incorrectly resolving the event toward that outcome. This outcome in a huge profit opportunity for a dishonest oracle. If a single Oracle resolves a market for the winner of a sports match and the odds for that market are 20 to 1, the oracle would buy shares in the latter outcome and resolve accordingly resulting in a guaranteed large profit. If the benefit from such a move is larger than projected revenue from running an honest oracle and the risk of legal recourse is low, then a rational (though highly unethical) decision is to defraud the market and abandon Oracle services.