We can identify several types of oracles in relation to their function and data handled:
– Software Oracles:
They handle information data that originates from online sources, like temperature, prices of commodities and goods, flight or train delays, etc. The so ware oracle extracts the needed information and pushes it into the smart contract.
– Hardware Oracles:
Some smart contracts need information directly from the physical world, for example, a car crossing a barrier where movement sensors must detect the vehicle and send the data to a smart contract or RFID sensors in the supply chain industry.
– Inbound Oracles:
Provide data from the external world.
– Outbound Oracles:
Provide smart contracts with the ability to send data to the outside world. An example would be a smart lock in the physical world, which receives payment on its blockchain address and needs to unlock automatically.
– Consensus-based Oracles:
Get their data from human consensus and prediction markets like Augur and Gnosis. Using only one source of information could be risky and unreliable. To avoid market manipulation, prediction markets implement a rating system for oracles. For further security, a combination of different oracles may be used, where, for example, three out of ve oracles could determine the outcome of an event.