Blockchains cannot pull in data from or push data out to any external system as built-in functionality. Blockchains are isolated networks akin to a computer with no Internet connection. The isolation of a blockchain is the precise property that makes it highly secure and reliable. The network only needs to form a consensus on a fundamental set of binary (true/false) questions using stored data inside its ledger.
Historically, blockchain-based networks and the smart contracts that run on top of them couldn’t support native communication with external systems. This limitation has significantly reduced the potential that smart contracts have until now.
The use of oracles will significantly broaden what smart contracts can do. This provides greater functionality to the blockchain ecosystem as a whole.
To overcome the lack of external connectivity, an additional piece of infrastructure is required, known as an “oracle,” which fetches data from off-chain sources and delivers it onto a blockchain so that smart contract applications can consume the information. Oracles provide the delivery mechanism for transmitting data on-chain and serve as the validation mechanism required to ensure the data is of high integrity. Suppose smart contracts are to retain end-to-end determinism. In that case, the oracle mechanism needs to be as secure and reliable as the underlying blockchain because the oracle data input directly determines the output of consuming smart contracts.
Oracles are already a big part of the Web3 ecosystem. Devs are constantly innovating with products on the convergence of real-world data and the trustlessness of the blockchain. Here are some top use cases that are seeing massive traction and adoption
1. Insurance: With the aid of oracles, Smart Contracts can be set up for many insurance policies that payout based on easily verifiable, objective measurements. For example, one can have flight insurance, which pays out if a commercial flight is cancelled or sufficiently delayed. This would work if the user pays into a contract and takes out a policy on a particular flight. Sometime after the flight was scheduled, the smart contract then purchases information from an oracle on whether that flight took place as scheduled. If not, it can pay out automatically. No bureaucracy, no delays, no room for human bias. Your flight was either cancelled, or it was not.
2. DeFi: Most DeFi applications need access to financial data about assets and markets. For example, synthetic asset platforms such as Mirror Protocol (Terra) use price oracles for pegging the value of tokens to the real asset.
Through the combination of on-chain collateral and Chainlink data feeds, synthetic versions of any asset or metric in the real world can be brought on-chain and into the crypto economy, including property valuations, CPI metrics, the aggregate value of raw materials, TVL of a specific protocol, number of followers Vitalik has on Twitter, or another metric that can be quantified and digitized as an on-chain data feed.
3. Proof of Reserve: As the smart contract ecosystem grows, so too does the number of stablecoins, wrapped cross-chain assets, and tokenized real-world assets. However, the collateral backing these tokens reside off-chain, meaning smart contracts cannot natively access the data required to audit these tokens and ensure proper collateralization.
The result is new risks related to transparency, under collateralization, and fractional reserve lending. Oracles can be used to overcome this issue through Proof of Reserve (PoR) feeds, which provide the necessary on-chain data to verify a token’s off-chain collateral.
We’ve seen Proof of Reserve feeds for TrustToken’s TUSD stablecoin, which is collateralized by US dollars held in a bank account off-chain. Reserve data is provided by Armanino, a top-25 US auditing firm that provides real-time updates that attest to the off-chain USD bank holdings of TrustToken that back the TUSD stablecoin. Given that TUSD exists across multiple blockchains, they have launched Proof of Reserve and Proof of Supply data feeds on Ethereum. A smart contract application can cross-reference before allowing users to engage in economic activity with the stablecoin.
4. Dynamic NFTs: Dynamic NFTs that can change appearance, value, or distribution based on external events would use oracles to access such events. Similarly, oracles can be used to create verifiable randomness, select random winners in NFT drops or surprise rewards in gaming applications.
Newer concepts can be seen at play with oracles. Sports NFTs whose value is pegged to player performance data or NFT marketplaces allow artists to change their digital artwork over time, such as an NFT that changes the background of an image according to the weather and time in New York City, can be a good value proposition.
The ‘Oracle Problem’
Oracles are ‘single sources of truth’, which is antithetical to the philosophy of the blockchain.
One of the biggest concerns of the oracle problem is a dApp’s behaviour when invalid or corrupted data is imported to a blockchain. Since most dApps operate via automatic smart contracts, code could automatically execute using the invalid data, which can lead to disastrous downstream consequences. Since the blockchain is well-suited for various financial services like lending and trading, these corrupt data imports could pose a significant threat to users’ assets, identity, and more. There is a pressing need for a reliable way to import external data from a third-party provider while ensuring the safe operation of the underlying blockchain.
This is the classic “oracle problem” of the blockchain space –– how do we validate and safely import trustable data onto the blockchain from third-party providers?
The oracle mechanism cannot be a single centralized node, as this introduces a single point of failure, such as the node being corrupted or going offline. This would defeat the entire purpose of using a blockchain network consisting of thousands of nodes. Additionally, the oracle mechanism shouldn’t rely on a single data source since the data source could deliver faulty data and/or go offline.
Instead, the oracle mechanism must be decentralized at the node operator and data source level to ensure there is no point of failure. While blockchains and oracles aim to achieve different goals (the former providing consensus on transactions and the latter consensus on real-world data), their complementary nature means similar approaches are taken to achieve security.
An adequately secured Decentralized Oracle Network (DON) must also provide additional layers of security such as the ability to connect to high-quality data sources (which provide accuracy and uptime guarantees), data integrity proofs through cryptographic signatures (when the data provider themselves runs the oracle node), data validation through a multi-layer aggregation process (mitigating downtime, outliers, and corrupted data), crypto-economic guarantees to incentivize proper operation (implicit incentives and explicit staking), as well as optionally provide data privacy (such as zero-knowledge proofs).
Oracles have Node Operators, data providers that need to lock in a certain amount of tokens as a stake to ensure reliable and truthful data. In exchange, they receive rewards for their information.
ChainLink: With over 200 integrations and millions locked in DeFi protocols, Chainlink is the industry leader in the space. Chainlink also has a distributed network of Node Operators that provide information to the Oracle. Anyone can run a Chainlink node as long as they have access to the right equipment and lock in a certain amount of LINK (Chainlink’s Native Token) as stake. In exchange, these Node Operators will receive rewards for the information provided.
Even though Chainlink doesn’t have its blockchain, it does integrate with different blockchains, starting with Ethereum. It has rapidly expanded to other key players, such as Solana, Arbitrum, and Fantom, as the key decentralized blockchain for these blockchains to run their Smart Contracts properly.
Band Protocol: Initially run on the Ethereum blockchain, Band Protocol built out its blockchain on Cosmos technology to sidestep congestion concerns. Cosmos blockchain software is a system focused on helping chains talk to each other and exchange assets seamlessly, looking beyond DeFi’s home on Ethereum.
Band Protocol used ‘packed transactions’,i.e., data can be sent over with the same transactions as the user transaction. Thus, enabling Dapps to access near real-time info such as price feeds.
In its earlier days, Band Protocol started as an attempt to curb fake news with the help of blockchain implementation.
Trellor: Trellor is a decentralized Oracle to bring high-value off-chain data onto Ethereum and other blockchains. The system utilizes a network of staked miners that compete to solve the Proof Of Work challenge to submit the official value for requested data. Tokens are mined with every successful Trellor data point, with 10% of it going to devs to support the development of the ecosystem.
Re-defining The Oracle-Chain Relationship
As we move further into experimenting with smart contracts and figure out new use cases, Oracles can help establish a two-way line of communication with blockchains: data can be sent in or transferred out. While outbound oracles can bring blockchain data to the outside world, it’s more common for inbound oracles to bring off-chain — or real-world data — to the blockchain. The imported information can represent almost anything — from asset price fluctuations to weather conditions to proof of successful payments.
Established projects and companies with high volume and TVLs are now using their data to enable APIs, which can contribute to newer projects like prediction markets, synthetic assets, lending, and more. This also helps establish a web2 relation where web3 solutions and features can be provided on top of the existing stack. The information would be real-time and potent as it’s coming from decentralized and trusted protocols.
The future of oracles is bright. One can think of creating products around weather data from AccuWeather and implement a bet or transaction on the blockchain based on that data or a match score that might be fed into the blockchain to help you secure your pizza bet for the weekend.