Investigation on a price oracle problem
Abstract
The core of blockchain smart contracts is the execution of business logic code in a decentralized architecture with all executing nodes trusting and agreeing on the results. Smart contracts are unable to get data from the outside world on their own. Smart contracts communicate with oracles, which are off-chain data sources whose primary function is to collect and give data feeds to smart contracts. The usage of oracle returns the blockchain to its centralization problem and also exposes the blockchain to the possibility of introducing corrupt, malicious and erroneous data. This problem is called ‘Oracle problem’. This paper presents an investigation of this problem. To demonstrate this, we have considered the price oracle problem using chainlink’s decentralized network of nodes that connects off-chain data to on-chain smart contracts through oracles. Finally, we performed an analysis and comparison on retrieving external off-chain data through external APIs (Application Programming Interfaces) and through decentralized oracles. This would be helpful in determining how decentralization (through oracles) may result in performance constraints in contrast to fetching data through our own built APIs where data source APIs of blockchain are not connected to the decentralized nodes of network. The results have shown the increase in transaction throughput of the overall system.