ARTICLE AD BOX
In a perfect world, blockchains and smart contracts would have access to all of the world’s information, but the reality is far from perfect. Blockchains and their smart contracts are actually cut off from real-world data sources, and don’t have any idea what is occurring “off-chain”, hence the need for data oracles to make decentralized applications more useful.
But in a world that’s swimming in different types of oracles and blockchains specifically designed to obtain data from the physical realm, which one should a developer choose? Here, we attempt to answer that question by explaining the considerations that should come into play.
The need for real-world data
Blockchain oracles are specialized networks that connect Layer-1 networks to external data sources so that the smart contracts and dApps that live on that chain can take actions based on things that happen in the physical world. Imagine a decentralized betting application that needs to pay out the winnings to punters. That dApp will need to know the score of the game between Manchester City and Liverpool, for example, and the only way it can know that is by sourcing that information externally from a trusted data provider. That’s the job oracles perform.
Oracles are used by a wide range of dApps, including DeFi applications such as decentralized exchanges, lending and borrowing platforms, decentralized insurance protocols and more. They’re also essential for GameFi dApps and even more traditional applications that need to fetch the latest price of conventional assets, such as stocks and shares.
Decentralization is key
In the context of Web3, dApps are only as decentralized as the sources of their data, so it’s vital for developers to select a decentralized oracle to provide that information. If a dApp obtains its data from a centralized source, that dApp cannot really claim to be decentralized, as it’s really at the mercy of a centralized point of failure.
Decentralized oracles are likely to be more robust, secure, reliable and up to date. Their data is obtained from multiple sources, as opposed to centralized alternatives, which only use a single source. This reduces the risk of the data being incorrect, which could lead to manipulation of your dApp.
The risk of centralization is that it means there are insufficient incentives for data providers. Decentralized oracles will reward node operators when they provide accurate information, but their centralized counterparts do not have the same structure. Although they must be paid for, there’s no incentive to ensure honesty and accuracy. In decentralized oracles, nodes compete against one another for rewards, so they have every incentive to be honest and accurate.
In addition, many decentralized oracles also provide a way for users to verify the accuracy of their data cryptographically.
Look for signs of trust
A solid user base is a fantastic sign that the decentralized oracle or blockchain for data is reliable and trustworthy. If it has a large user base, that suggests that it consistently provides honest and accurate information to the dApps it serves.
A good example of a trusted oracle is Chainlink, which is by far and away the most widely-used service of its kind. It’s also one of the oldest ones around, which explains why the market capitalization of its native token LINK dwarfs those of other oracle networks.
Among the chasing pack, one of the most trusted data providers appears to be Flare Network, which are known as the “blockchain for data”. Flare recently hit a new all-time high in terms of the total value locked on its network, while surpassing the one million unique wallets milestone in August. At the time of writing, its TVL has grown to an impressive $13.56 million, driven by liquidity providers keen to take advantage of the new FLR DeFi emissions program. What’s impressive is that Flare achieved these milestones just two years after the launch of its mainnet.
Data consensus: More is better
It’s never a good idea to rely on a single data point. To ensure accuracy, oracles need to aggregate data from multiple sources and use some kind of consensus mechanism to verify that the data is correct. This not only ensures accuracy, but also makes it resistant to manipulation.
The more nodes involved in the consensus process, the better. Pyth Network operates an interesting model where that data is served by its original owners and verified by a network of validators to ensure up to the second accuracy.
Flare also has an effective setup, using independent attestation providers to reach consensus on the data before it becomes available on the network. Meanwhile, the Flare Time Series Oracle incentives around 100 independent data providers to deliver accurate information to its network, with the rewards being shared among the delegates that stake FLR tokens to back them. This model allows for community oversight of the data providers, increasing trust.
Time lag can be detrimental
In the volatile world of digital assets, even a few seconds can result in serious price movements. For that reason, many dApps will need a data source that can provide real-time, or at least near-real-time, data on asset prices.
This is why Chainlink has started to feel the heat. Chainlink is based on a less efficient “push” architecture, where data providers push data to the network at regular intervals. While those intervals are fairly short for some assets, they can be as long as one hour for others.
Newer blockchain oracles instead use a “pull” architecture that allows dApps to simply request the most recent information from the network. When a request is made, the data providers will immediately publish the latest information, such as an asset price, weather data or something else.
Focus on security
In the crypto industry, hackers and manipulators make it a habit to look for vulnerabilities and exploits, and data oracles are among their targets. Should an attacker find a vulnerability in an oracle, they might be able to manipulate the data it provides to dApps and leverage that misinformation to obtain a profit at the expense of everyone else. So, choosing an oracle with robust security is essential, such as strong encryption and multi-signature validations. Some of the newest oracles feature built-in systems that penalize data providers in the event they provide inaccurate data.
Conclusion
To sum up, third-party data providers are an essential service for dApp developers, yet their importance is often overlooked. The choice of data source can be key to the health and success of any dApp, as inaccurate data can lead to all kinds of manipulation and draining of funds.
Developers should perform due diligence when choosing a third-party data source and prioritize decentralization, latency, and security above all else. Remember, this is your dApp’s link to the real world, and that link must be as sturdy and reliable as possible.