What are Oracles?
Oracles can contact the gods and tell you the future. Well, that’s what Greek mythology says about oracles, and Greek mythology is where the word first originated from. If someone in ancient Greece needed to make a decision but had insufficient information, he (or she) would ask an oracle to provide the requisite information. Because the oracles had connections beyond the world of humans, they could retrieve that information for the person contacting them.
Oracles in blockchain perform a similar, although less mystical, role. Blockchain oracles can’t tell the future, nor can they contact the gods. But for the small limited world of a specific blockchain, oracles can provide information from the vast data reserved of the internet. Many blockchain use cases require information from the outside world. A simple currency exchange between two blockchains would require the latest exchange rate between the two currencies, and that information would be provided by the internet through the oracle.
Oracles are a necessity if blockchain technology is to be adopted in real-world scenarios. But there is a problem.
What is the ‘oracle problem’?
Why is the blockchain technology so revolutionary and special? It’s because of two basic qualities of the blockchain: decentralization and immutability. This means that blockchains aren’t controlled by big centralized organizations, but by a vast number of individuals (or nodes). Also, the data/information stored on any blockchain is near impossible to tamper with. These two qualities are the reason behind all the blockchain hype. But oracles can cause problems in both these qualities.
Oracles are not decentralized like blockchain. Depending on the specific use case, oracles can be individuals, institutions, or databases on the internet. Oracles reintroduce the concept of ‘trust’ in blockchains. Oracles are not decentralized like blockchain, they are managed by specific entities which gives centralized authority to these third-party managers.
When smart contracts, and the immutable ledgers created by them, are dependent on outside data, the actual immutability of the whole system becomes dependent on the accuracy of that data provided by the oracles. It also creates a weak point in the otherwise secure blockchain system. It is virtually impossible for malicious actors to get hold of enough nodes in the blockchain to tamper with its data and working, but taking control of a single point in the system, the oracle, is not so impossible by comparison.
What is the solution?
The problem of oracle centralization can be dealt with differently in different use cases. Legal contracts on the blockchain will need a legal central authority acting as the oracle. Or a student transcript on blockchain will need the educational institute as an oracle. Such cases need information that is not publicly available to everyone, so a trusted third party is required to provide the required information.
Other use cases which require more public information, can use consensus oracles. The currency exchange case requires publicly available information: the exchange rate. Any oracle can provide this information and others on the network can confirm its validity. A group of consensus oracles could be used, and one of the various mechanisms that blockchains already use to reach consensus can be used in oracles as well.
How we are doing it
Here at Antlia, we also employ consensus oracles. Not only the information required by the blockchain will be provided by consensus-based oracles, different blockchains will be connected and made interoperable with the use of antlia oracles. The social solutions of the blockchain problem, as explained by Caldarelli, will be dealt with by the specific institutions themselves, the technical side of the problem can be mitigated through the use of secure consensus oracles.