Oracles are entities that enable various functions in blockchain structures by providing access to legacy or offchain information systems, acting as data ports for decentralized finance applications. These oracles act as information providers for tasks that require either the posting of data or require data to complete specific tasks.
What Are Oracles?
In ancient times, oracles were priests who were thought to offer advice or prophecy to people in need, seeking answers from the gods. The blockchain meaning of the word is not far off, as oracles are entities (smart contracts) that use various means to obtain information from different sources to enable the completion of tasks on top of a blockchain structure.
Oracles empower decentralized finance, bringing information from the real world to onchain processes. Without them, each blockchain would only be a silo of information, allowing programs to exclusively access data self-contained on the selected chain.
The implementation of oracles opens many use cases for decentralized finance applications. One of the most common examples is the usage of price feeds in decentralized exchanges to complete liquidations and make other kinds of calculations. Also, any task that needs information from sources outside the blockchain, like prediction markets, benefits from oracles.
Further, oracles can be used when legacy applications require data from the blockchain, transmitting the needed data for certain purposes. For example, a decentralized system might activate a card to open the door of a hotel room after a cryptocurrency payment is received.
Oracles can also facilitate the transport of data offchain to be used for heavy processing that would be unpractical to do onchain. In this case, oracles allow apps to defer the computing processes needed to complete a determined task to other systems.
Decentralizing Data Transport
While oracles are useful tools for connecting onchain apps with legacy, real-world data, they also represent a single point of failure for these apps. If the resources needed by the app are considered critical, and the oracle fails to deliver them, the task will be unfulfilled. Also, the oracle might be exploited to retrieve incorrect or altered data, which would also affect the result of this task.
Decentralized oracles propose an answer to this problem, seeking to retrieve the required data from different sources to validate and aggregate the results to deliver a valid response to the application. Chainlink is the most known decentralized oracle network, offering preexistent data feeds to allow developers to have a reference for different values.
For example, a decentralized app could use the price feed to determine the price of a determined asset or leverage the nonfungible token (NFT) floor price feed to retrieve a range of prices for an owned NFT.
The Future of Oracles in Finance
While oracles drive almost all decentralized finance applications, their usage and the issue of the “oracle problem” have been questioned by staff members of the Bank of International Settlements (BIS) in a recent bulletin.
The authors criticize the tradeoffs that embracing a fully decentralized oracle system might bring for the design of these systems, stating that “striving for the ideal of full decentralization leads to complex consensus protocols that further erode blockchain efficiency.”
However, the bulletin also explains that adding centralization to these tools might introduce trusted parties into a system whose objective is to remain trustless, stressing that due to this, “crypto-based defi is likely to remain the preserve of cryptoassets only, rather than being used for real-world assets.”
What do you think about oracles and their roles in decentralized finance? Tell us in the comment section below.