There is often a need to access information from the outside world that is relevant to the contractual agreement. But smart contracts can’t access data from outside of their blockchain network. An oracle is a way for a blockchain or smart contract to interact with external data.
With blockchains being deterministic one-way streets, an oracle is the path between off-chain and on-chain events. These oracles are services that send and verify real world occurrences and submit this information to smart contracts, triggering state changes on the blockchain.
Inbound oracles bring off-chain or real-world data to the blockchain, whereas their outbound cousins do the opposite: they inform an entity outside the blockchain of an event that occurred on it.
- What is the blockchain oracle problem?
- What is a blockchain oracle.
- Tutorial: Getting decentralized price data.