The Oracle Problem
Source: https://witnet.io/about
Given that smart contracts need to be completely deterministic to ensure all nodes execute the same code, they do not support input of data from non-deterministic sources such as APIs or websites.
As a result, smart contracts are mostly isolated from the rest of the Internet, which dramatically reduces their transformative potential. After all, the effectiveness of a program rarey depends solely on its source code, but also upon the input data it receives from interacting with the outside world.
Of course, as the creator of a smart contract, you can create a method that allows specific parties to act as an "oracle" by introducing information from the outside when necessary. However, this undermines breaking the trustless nature of a smart contract. If trust is put in any single entity, then you have a single point of failure that can be attacked or corrupted.
Smart contracts connected to the real world will never be completely trustless, nor release their full potential until we have ways to feed them information in a trustless way.
This is often referred to "the oracle problem".
Last updated