What is an Oracle?
What's is an oracle anyway!?
A core aspect of all blockchains is that they are deterministic. All transactions produced by a blockchain must produce the same result every time they are executed, no matter who or where they are executed by/from. If this were not true, achieving consensus would be impossible. This deterministic system is easy to maintain so long as the computation remains on-chain. However, what happens when we introduce data and computation from outside of the deterministic system?
This is where an ORACLE comes in. Oracles, [often a human(s)] provide and write new data onto the blockchain that was previously inaccessible by the deterministic, machine network. This data should be vetted and confirmed by others to prevent errors and fraud.
There are a handful of existing oracles providing this service. However, there is a vast amount of data and edge-cases where more oracles or a more flexible oracle network is needed 👁🗨.