Oracles are trusted third-parties services that connect smart contracts with the outside world to reliably feed information to and from a blockchain. Blockchain networks are unable to read information from external sources which would be required to validate and execute smart contract conditions, hence, its reliance on blockchain oracles as its external data sources.
Oracles enable the creation of an ERC-20 token that tracks its price to the price of a stock in the outside world – a typical example being mTSLA that tracks its price to Tesla stocks in the real-world. This way, Oracles creates the opportunity that allows individuals to invest in stocks without having to go through the traditional hassles of purchasing the desired stock.
What are the different types of blockchain oracles?
Oracles are classified depending on where they fetch their data from:
1) Hardware Oracles:- gather real-world data from physical devices such as RFID sensors, barcode scanners, and temperature sensors.
2) Software Oracles: Software that finds information on the web like stock market data, or even given traffic to a particular website
3) Human Oracles:- specialized individuals in a particular field can also serve as Oracles.
Reliabilities of Oracles
A blockchain consensus mechanism is such that data is validated on the network in a trustless and decentralized approach, however, blockchain oracles pooling data from a single source (referred to as centralized oracles) do not align with this ideology as they are highly prone to nan-in the-middle attacks.
Although decentralized oracles (such as consensus oracles) exists to tackle these concerns, developers still have a long way in executing a truly trustless and secure system.
An example of a decentralized blockchain oracle is Chainlink – a network of decentralized data providers. A smart contract for a stock-trading decentralized application can be connected to Chainlink data feed for real-world market prices of assets.