The Truth Problem: How Blockchain Systems Fail Without Oracles
Explore the truth problem in decentralized systems and why blockchain fails without oracles. Learn about the oracle problem and its implications for the future of blockchain and smart contract applications. #Blockchain #Decentralization #SmartContracts
Have you ever wondered how blockchain systems verify real-world events? How do they know if a shipment has arrived, a contract has been fulfilled, or a sports game has been won?
The answer is simple: they rely on trusted sources of truth, also known as oracles.
But what happens when there are no oracles, or when the oracles are not trustworthy?
In this blog post, we will explore the truth problem in decentralized systems and show why blockchain systems fail without oracles based on BIS Working Paper titled "An impossibility theorem on truth-telling in fully decentralized systems" by Rodney Garratt and Cyril Monnet.
We will present an example of a coin toss game that illustrates the difficulty of truth-telling in a decentralized environment, and an impossibility theorem that proves that truthful reporting cannot be uniquely implemented in a completely decentralized environment. Finally, we will discuss the implications of these results for the future of blockchain and smart contract applications.
So, if you are interested in blockchain, decentralized systems, and smart contracts, keep reading!
Brief Technical Summary
- The problem of truth-telling in decentralized systems: The paper shows that there is no way to implement contracts that pay out based on an observed state without a trusted source in a completely decentralized environment. Agents have no incentive to report the truth unless they have no stake in the outcome.
- The role of oracles and the oracle problem: The paper provides a theoretical justification for the need for oracles, which are entities that can verify the state of the world and communicate it to smart contracts. However, oracles also face challenges such as reliability, security, and incentives, which are known as the oracle problem.
- The limitations of voting mechanisms: The paper considers different voting mechanisms to elicit the truth from agents, such as simultaneous and sequential voting. It shows that these mechanisms either fail to implement the truth or depend on agents’ beliefs and expectations, which may not be aligned with the true state.
A Coin Toss Example: The Difficulty of Truth-Telling in a Decentralized Environment
Imagine a simple game where two players bet on the outcome of a coin toss. The coin is tossed, and the outcome is either heads or tails. Both players can see the outcome, but they have to report it to a third party who will determine the winner based on their reports. If both players report the same outcome, the third party will declare that outcome as the winner and pay the player who bet on that outcome. If the players report different outcomes, the third party will declare a draw and no one wins.
Now, let’s say that both players have a stake in the outcome. They want to win the game and get the prize.
In this situation, what is their incentive to report the true outcome of the coin toss?
The answer is none. If a player reports the true outcome, they may win or lose depending on what the other player reports. But if they lie and report the opposite outcome, they will either win or force a draw. So, lying is always a better strategy than telling the truth.
This simple example illustrates the difficulty of truth-telling in a decentralized environment where agents have a stake in the outcome. Even when the outcome is publicly observable, agents have no incentive to report it truthfully if they can benefit from lying. This problem becomes even more complex when there are more than two agents when the outcomes are not binary, or when there are multiple rounds of reporting.
This coin toss example shows that eliciting truthful reporting from agents in a decentralized environment is not an easy task. Without relying on trusted sources of truth or oracles, there is no mechanism that can guarantee that agents will report the true outcome of a publicly observed event.
An Impossibility Theorem: The Limits of Decentralization
The coin toss example we discussed earlier is just one instance of a more general problem. In fact, researchers have proven that truthful reporting cannot be uniquely implemented in a completely decentralized environment unless agents have no stake in the outcome. This result is known as an impossibility theorem, and it has important implications for the design of decentralized systems.
The impossibility theorem relies on three basic properties: anonymity, neutrality, and monotonicity.
- Anonymity means that the mechanism does not depend on the identity of the agents.
- Neutrality means that the mechanism treats all outcomes equally.
- Monotonicity means that if an agent changes their report in favor of a certain outcome, the probability of that outcome being chosen should not decrease.
The theorem states that if a mechanism satisfies these three properties, then the only way agents are willing to report the truth is if they have no stake in the outcome. In other words, if agents can benefit from lying, they will do so. This implies that any strategy profile is a Nash equilibrium, meaning that no agent has an incentive to deviate from their strategy given the strategies of the other agents.
This result shows that there are fundamental limits to what can be achieved in a completely decentralized environment. Without relying on trusted sources of truth or oracles, there is no way to guarantee that agents will report the true outcome of a publicly observed event. This has important implications for applications such as smart contracts that depend on verifying real-world events.
The Need for Oracles and the Oracle Problem
The impossibility theorem presented in this paper shows that there is no way to elicit truthful reporting of a publicly observed event from agents who have a stake in the outcome, without relying on a trusted source or oracle. This result has important implications for the future of blockchain and smart contract applications, as it reveals the limitations and challenges of decentralization.
Blockchain and smart contract applications often depend on verifying real-world events, such as asset prices, weather data, sports results, etc. However, these events are not directly accessible or verifiable by the blockchain, which is isolated from external systems. Therefore, there is a need for oracles, which are entities that connect blockchains to external data sources and provide smart contracts with the information they need to execute.
However, oracles also introduce new problems and risks for blockchain and smart contract applications.
How can we ensure that the data provided by oracles is accurate, reliable, and secure?
How can we prevent oracles from being manipulated, hacked, or corrupted by malicious actors?
How can we design incentives and mechanisms for oracles to perform their tasks honestly and efficiently?
These are some of the open questions that constitute the oracle problem.
The Oracle problem is one of the major challenges facing the development and adoption of blockchain and smart contract applications. Solving the oracle problem requires finding ways to bridge the gap between the decentralized and centralized worlds while preserving the security, transparency, and trustlessness of blockchains. Various solutions have been proposed and implemented, such as centralized oracles, decentralized oracle networks, peer prediction mechanisms, hardware oracles, human oracles, etc. However, each solution has its own advantages and disadvantages, trade-offs and limitations.
Therefore, there is no one-size-fits-all solution to the oracle problem. Rather, different applications may require different types of oracles depending on their specific needs and objectives. For example, some applications may prioritize speed and efficiency over security and reliability, while others may require high levels of accuracy and trustworthiness over scalability and cost-effectiveness. Furthermore, some applications may benefit from combining multiple types of oracles to achieve a balance between different properties and features.
In conclusion, this paper has shown that decentralization has its limits and that the truth has to be delegated to a group of agents who have no other stake than the payment they receive for their job. We have also discussed the Oracle problem and its implications for the future of blockchain and smart contract applications. We suggest further research on how to design and organize trusted sources of truth in a decentralized environment.
Disclaimer: The views expressed in this blog are not necessarily those of the blog writer and his affiliations and are for informational purposes only.
Be the one who brings valuable insights to the table by sharing this post.
Want to be part of a community of informed and engaged individuals? Follow us on social media @Facebook and @Twitter
Subscribe on LinkedInFollow in Linkedin
- #Blockchain
- #Decentralization
- #SmartContracts
- #Oracles
- #CoinTossGame
- #ImpossibilityTheorem
- #FutureOfBlockchain
- #TruthProblem