The Oracle Problem (and how to solve it)

How do you securley report off-chain data on blockchain?

Written by: Florian Wimmer, Co-Founder & CEO at Blockpit
Reviewed by: Peter Schöllauf, Blockchain Lead

Last updated:  
March 7, 2024

Blockpit employs strict editorial principles to provide accurate, clear and actionable information. Learn more about how we create and review content.

the oracle problem blockchain explained

tl;dr

  • Oracles bridge blockchains with external data but can introduce trust issues.
  • Faulty oracle data can result in flawed smart contract outcomes.
  • Decentralized oracles and cryptographic proofs help mitigate risks.

Integrating information-providing Oracle is a major challenge for blockchain developers and DeFi. Find out exactly where the problem lies, why it could become a stumbling block for DeFi and how companies like SupraOracles are working to find a sustainable solution.

In the world of blockchain and smart contracts, the oracle problem is a conundrum that has been persisting for some time. The oracle problem arises because blockchains have no secure and meaningful means to interact with external sources of data owing to their unique features.

As we all know, blockchains are decentralized, geographically independent, immutable, transparent, and secure in their nature. These features limit them from achieving their full potential as they cannot connect with real-life data. This imperative makes blockchain vulnerable to centralization and limits transparency. This article explains how applications of blockchain technology and smart contracts can fill this gap.

The need to connect external data with on-chain data is more crucial in smart contracts. They are essentially digital agreements stored on the blockchain. They are deterministic, self-executing, and immutable. They independently verify and execute the conditions agreed upon without the intervention of a third-party. 

Imagine that there is a betting app on Ethereum based on an Escrow smart contract. Jack and Jill deposit ETH into this contract and they bet on the BTC/EUR price during a period of one month. Jack bets that the price will be over 5000 EUR in a month and Jill bets that it will be below 5000 EUR. The smart contract automatically distributes the funds they locked to the winner at the end of the month. How would the smart contract know the winner? The smart contract on Ethereum should know BTC/EUR prices at the end of the month to determine a winner. But such price information does not live on the blockchain. This is when ‘oracles’ come into play.

{{cta-banner-generic-en="/elements/reusable-components"}}

Oracles connect blockchains with the physical world

Oracles are technically the intermediaries that transmit real-life data to the blockchain. They retrieve and verify external data for blockchains through methods such as web APIs or market data feeds. Oracles are like a bridge connecting external and non-deterministic information with on-chain data, making it easier for blockchains to understand and execute conditions. 

Oracles answer to the question ‘How to securely report off-chain data on blockchain?’. They are extremely important to inform and enforce decisions. There are several forms of oracles based on the information source, level of trust in the information and direction of information flow. These are called hardware oracles, software oracles, decentralized oracles, centralized oracles, inbound oracles, and outbound oracles.

Oracles become particularly prominent as we move forward in the DeFi - Decentralized Finance- sector and Web3 based on blockchain technology. Many companies operating in the DeFi space use Oracles to obtain real-time data such as price information. Oracles are not limited to economic information but also weather information, geographical information, etc.  A recent publication of New York University also shows how oracles can be used to implement international treaties such as limiting greenhouse gas emissions using connected sensors. 

The oracle problem is a major drawback of centralized oracles

The oracles pose a threat to the promise of immutability in the blockchain. The data obtained through oracles becomes immutable only after it is recorded on the decentralized ledger.  This leads us to the question: Who authenticates data provided to the chain? Essentially, the origin of oracles in centralized points which require third-party permission poses a risk. This is a dilemma between the authenticity of data from Oracles and traditional trust assumptions about blockchain. This paradox is commonly known as the Oracle Problem. 

In a nutshell, the oracle problem refers to the conflict between security, authenticity, and trust in third-party oracles for the trustless execution of smart contracts. Oracles retain a high degree of power over smart contracts in how they are executed because the data they provide determines how the smart contracts execute. Therefore, data feeds from third-party sources have substantial influence over the execution of a smart contract, removing its trustless nature as part of a decentralized network.

Specifically, oracles are unable to provide trustless verification when tethering physical assets to the blockchain. Imagine that you are transferring the ownership of your house to your friend John. In such a situation, the smart contract should verify that you actually transferred your house to John. The smart contract needs to rely on a third party to do the verification in the physical world. A certain level of trust is placed on the third party to carry out the verification. This is where the essential problem of oracles originates from. 

A trusted decentralized oracle may be your solution to the oracle problem

Even though oracles have empowered and contributed largely to tokenize physical assets, the oracle problem hinders their growth and  applications. In order to overcome this drawback, oracles must offer the same guarantee of reliability and security as blockchain. The most accepted solution to  this dilemma is to rely on a decentralized oracle. 

A decentralized oracle uses a decentralized network of nodes to obtain real-life data from off-chain sources of information and transfer it to smart contracts on-chain. These decentralized oracles are like public libraries with multiple sources of information. Using many sources of information helps to minimize counterparty risk. More importantly, decentralized oracles aim to reduce concerns about reliability and trust because oracles that provide false data will be penalized for data manipulation.

As a result, many platforms are spearheading the domain of decentralized oracle development. SupraOracles is one such cross-chain oracle tackling the oracle problem. As a cross-chain oracle, they share the same truth on different blockchains. They provide decentralized oracle solutions by leveraging consensus-based oracles, decentralized marketplaces, and new methods of authenticating oracle data. They have fine-tuned their product’s key features to reduce security lapses. They make it possible for you to enter into smart contracts and engage in DeFi transactions without worrying about data feed manipulations.

On this page
Florian Wimmer
Co-Founder & CEO at Blockpit

Florian Wimmer is the CEO and Co-Founder of Blockpit, a leading platform in cryptocurrency taxation solutions. With over a decade of expertise in blockchain technology, cryptocurrency, and the crypto economy, Florian has been instrumental in developing tools that address complex tax issues facing crypto investors globally.

Disclaimer: The information provided in this blog post is for general information purposes only. The information was completed to the best of our knowledge and does not claim either correctness or accuracy. For detailed information on crypto regulations, we recommend contacting a certified legal advisor in the respective country.