What are blockchain oracles on Ethereum? And what is their relationship with smart contracts?
These are some of the questions that are increasingly asked in the crypto environment, especially thanks to the success of projects like Oraclize.
There are in fact many approaches to oracles and the most used is that of Oraclize, which uses authenticity proofs to prove that the data sent on the blockchain is authentic and will not give problems to the dApp. To date, Oraclize has processed over 1 million transactions on Ethereum, sending data to blockchain applications, and there are over 800 Oraclize-based dApps.
Why are oracles used?
The decentralization promised by the blockchain, along with smart contracts, seems to have the potential to revolutionize many aspects of our lives, disrupting many of our interactions through a system potentially without weak points.
With a more careful analysis, however, we find a weakness that can hardly be removed from these systems even with many years of development. The problem is that natively for a blockchain it is impossible to recover data outside the blockchain itself.
If we have an insurance policy, a casino or companies that want to import data on the blockchain, the oracles are the solution. In fact, it often happens that smart contracts need information that is not present on the blockchain and that cannot be calculated with the data present on it. In these cases, oracles are usually used.
The oracles are therefore agents that verify and forward data to the blockchain so that smart contracts can use them.
What is the potential point of failure of oracles?
If the oracle sends incorrect or malicious data to the blockchain, the dApp will not be able to see it for itself and this could lead to an incorrect result on the blockchain – the so-called “garbage in, garbage out“.
Given the centralization and the need for trust that this system implies, smart contracts usually use multiple oracles to reduce the risk of hacking or collusion.
Thanks to this, multiple parts would have to be compromised or colluded to create effective damage.
What if the oracles collude?
The consequences of such collusion would be potentially very serious.
Take the contracts developed by MakerDAO as an example, they use oracles to know the value of Ethereum in dollars and keep the value of the DAI token stable through crypto economic incentives.
Recently, nearly 1% of all existing ETHs were in these smart contracts, so the consequences of manipulating this data could be far-reaching.