Blockchain technology is ushering in a new wave of technological change that will replace the way we do things: how we manage our money; how we track goods in transit; how we record asset ownership.
But blockchain technology is still in its infancy: and many chains are plagued by issues of scaling, speed, security, decentralization, and so on. The solution that many technologists are pursuing is to use the blockchain for some transactions, and to take less critical ones offline – or ‘off-chain’ – before adding those transactions to the chain en masse.
But unlike blockchain, life is not linear. Everything that happens off-chain, when recorded digitally, is not sequentially recorded in the same way that blockchains are. Dark Side of the Moon doesn’t really work on shuffle.
So how can we sync a blockchain to record new information that is not, by definition, determined by previous on-chain transactions? Oracles hold they key.
Inbound And Outbound
An oracle is a way for a blockchain or smart contract to interact with external data. With blockchains being deterministic one-way streets, an oracle is the path between off-chain and on-chain events.
Inbound oracles bring off-chain or real-world data to the blockchain, whereas their outbound cousins do the opposite: they inform an entity outside the blockchain of an event that occurred on it.
For example, inbound oracles allow data pertaining to real-world events to be called to the blockchain, with use cases ranging from automated trading based on the current price of an asset to gambling dApp payouts in the event of a win. Smart contracts contain the rules, and oracles provide them with the data they need to trigger and execute those rules.
Outbound oracles work in the opposite direction, informing actors off-chain of events that occurred on-chain. Outbound oracles have, theoretically, fewer use cases than inbound oracles, for which the number of use cases is practically infinite.
The Need That Blockchain Created
Before distributed ledger technology, the technical process of querying was sufficient to bring data points into and out of applications from other data sources. As blockchains are deterministic and sequential, however, the random ordering of off-chain data points needs to be managed in a different way.
Interacting with a blockchain structure has called for a different way of handling data that will need to be ‘oraclized’, as one of the biggest companies in the space, Provable, puts it. They are, in many ways, a blockchain’s way to interface with the real world.
They can be hardware or software, but they act as data feeds, usually from a third party service, that inform the blockchain about events that occurred off it. Consider a smart contract for the release of payment when a certain obligation is met by one of the parties.
When that obligation has been met, an oracle can be used to verify that fact and trigger the smart contract to execute the release of funds. In fact, in that particular case, the oracle can be made a signatory to a multi-signature transaction.
The Agent In The Transaction
Just when we thought blockchain would be able to remove middlemen from transactions, the need for oracles has arisen: they are, by definition, the middleware between the real world and smart contracts.
BlockchainHub describes an oracle as:
“…an agent that finds and verifies real-world occurrences and submits this information to a blockchain to be used by smart contracts.”
The role of the blockchain oracle is explained well by the Blockchain Institute of Technology’s George Levy.
Use Cases In Supply Chain
Hardware oracles include IoT and RFID sensors and barcodes. The information they capture is brought into a blockchain-based supply system, giving users a full suite of information. Software oracles are data feeds that are incorporated into the blockchain system to trigger events or decisions.
Chainlink has tokenized its network of oracles to handle the problem of provenance, so often the weak link in any supply chain. As human oracles can also enter data into a smart contract, Chainlink has developed an intriguing way to help ensure data validity.
Providers of data need to stake LINK tokens to use the network. In the event that inaccurate data is found, those tokens are forfeited. In this way, the smart contract and those relying on its veracity can have more confidence that no fraudulent or incorrect data was added to it.
Blockchain technology has ushered in new technology so radical that companies are beginning to realize they need to be building IT infrastructure around it to accommodate its more rigorous demands for verification over trust.
Oracles are very much at the forefront of that change. Expect more and more data to become oraclized as companies begin to bring blockchain into their operations.