Blockchain is a closed network utilized for secure transfer of value. There are public chains which allow anyone to become a part of the network and there are private chains which allow only certain authorized individuals or institutions to become a member. However, there will always be a world outside this network which might need to be contacted. Hence the question, “How Blockchains communicate with outside world?”
And the answer is Oracle. An Oracle (also know as data feed) is a third-party service that provides external data when needed and is designed for use with Smart Contracts. Smart Contracts are designed to execute a specific command when exposed to relevant data triggers such as temperature, successful payments, price fluctuations etc. An Oracle pushed these data inputs into the Blockchain so that they may trigger Smart Contracts.
There are two things to consider when discussing Oracles:
1. Oracles are Smart Contracts themselves:
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 must sign the Smart Contract as well.
2. Oracle acts as an Agent:
An Oracle finds and verifies real world occurrences. Then, it submits the verified information on the specific Blockchain, so that it can be utilized by Smart Contracts. However, the vice versa is also true, i.e. an Oracle may also submit information from a Smart Contract to the outside world.
Different types of Oracles
Based on the type of use, Oracles are differentiated into the following types:
Software Oracles: These Oracles handle online information such as data originated from online sources like websites, for example, the price of gold or weather fluctuations. They extract the required information and push it into the Smart Contracts.
Many use cases of Blockchain requires data inputs from hardware in the physical world. These can be damage sensors in a car or RFID sensors in a Supply Chain. The role the Hardware Oracle is to provide readings without sacrificing data security.
Provide data from the external world, like an automatic buy order if the USD reaches a specific price.
These act as a medium of communication from Smart Contracts to the Outside World. They can send data to the outside world from Smart Contracts, for example, consider the use case of a Smart Lock in the Physical world which needs to unlock automatically after receiving a payment on its Blockchain address.
Consensus Based Oracles:
This is a combination of multiple Oracles, wherein data from multiple sources is required to reduce risk, like market predictions for confirming future outcomes. A decision is made based on the consensus of a maximum number of Oracles. For example, 7 out of 10 oracles could determine the outcome of an event.
Read More about: Understanding Smart Contracts – What, What Not and Why?
Though Oracles, like any Smart Contract, are autonomous. Still, they are not part of the Blockchain consensus mechanism. Thus, there will always be a lack of trust on the source of information. However, different trusted computing techniques, like TLSNotary, can be used to solve this issue.
Sofocle Technologies has come a long way in its Blockchain journey. As of now, we have successfully completed many Ethereum Smart Contracts based projects and we are excited to be associated with some of the very interesting projects which currently are in development phase. To know more about Blockchain Development Services, contact us at [email protected]