An oracle, in the context of blockchains and smart contracts, is an agent that finds and verifies real-world occurrences and submits this information to a blockchain to be used by smart contracts. Blockchains cannot access data outside their network. An oracle is a third party provided data feed designed for use in smart contracts on the blockchain. Oracles provide external data and trigger smart contract executions when pre-defined conditions are met. Such conditions could be any data like weather temperature, successful payment, price fluctuations, etc.
Oracles are part of multi-signature contracts where for example the original trustees sign a contract for future release of funds only if certain conditions are met. Before any funds get released an oracle has to sign the smart contract as well.
There are five types of Oracles: Software oracles, Hardware oracles, Inbound oracles, Outbound oracles and Consensus based oracles. The first kind handles readily available online information; it extracts the necessary information and embeds it onto the smart contract. Much like the understanding of ‘hardware’ when referencing computer parts, hardware oracles are literal pieces of equipment (sometimes sensors) that can record information that is then recorded onto the smart contract.
Inbound oracles provide the smart contract with external data; and outbound oracles send data from smart contracts to the outside world. For Consensus based oracles, there are prediction markets on the blockchain such as Gnosis and Augur which rely on oracles to confirm future results. If they used just one source of information it could be unreliable and risky. Instead, these markets use a rating system for oracles, and to make things even more secure they can use a combination of different oracles.
It is worth noting that there are security challenges to using oracles, the main one being the trustworthiness of the source. As such, it is better not to rely on only one oracle system.
Got questions? Feel free to visit our Q&A platform: www.aqoom.com