By Nick Roquefort-Villeneuve, Global Marketing Director – Amalto Technologies
“Arguments over the correct interpretation of an oracle were common, but the oracle was always happy to give another prophecy if more gold was provided.” Man, already in 1400 BC! So many civilizations did fade to nothing, whereas greed certainly stood the test of time… This blog post isn’t about predictions. It’s about reality. And the reality is that a smart contract won’t do it, unless the data that is pushed to the Blockchain and that in turn triggers the smart contract doesn’t go through a potent oracle first.
By definition, an oracle is a provider of data that feeds the smart contract with what it requires to perform its task optimally. In other words, the oracle provides the smart contract with what it needs to see and consequently controls indirectly what the smart control does in response to the data the oracle pushes to the Blockchain. Thus, oracles have a tremendous amount of power, since if the oracle is inefficient then the smart contract will be compromised.
So, what is required to make an oracle a potent component? Before anything else, there are 5 types of Blockchain oracles, and their difference lies in their use.
5 Types of Blockchain Oracles:
- Software Oracles: Manage data that originates from an online source such as a website. The oracle extracts the information that is pertinent, before pushing it to the Blockchain to trigger the smart contract
- Hardware Oracles: Handle data that a physical machine sends, like an IoT communication box or the communication box that pertains to any other type of sensors. One major element that needs to be taken into account is the ease with which an IoT communication box, for example, can be hacked. To that effect, the hardware oracle must ensure that the data it pushes to the Blockchain is clean, so the smart contract can do its job accurately
- Inbound Oracles: Provide smart contracts with data originating from the external world. For example, if a stock hits a pre-determined price, then the smart contract is triggered and executes a specific transaction (buy or sell)
- Outbound Oracles: Uses data inside the Blockchain to trigger an external event. For example, unlocking automatically intelligent lockers as soon as an associated transaction has been executed by the smart contract in the Blockchain
- Consensus Based Oracles: When a combination of different oracles is used (4 out of 6, for example) to determine the outcome of an event
Smart contracts cannot access data outside of the Blockchain. An oracle is a data feed, without which pre-determined critical information would not be pushed to the Blockchain in order to trigger smart contracts in a secure and trusted manner.
At Ondiflo, we have created an off-chain software oracle that provides anonymity when two partakers within a private Blockchain ecosystem transact with each other, so the other participants cannot identify a transaction in which they have no part.