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 a path between off-chain and on-chain events.
An Oracle is the name given to an agent that finds and verifies real-world occurrences and submits this information to a Blockchain to be used by smart contracts. This allows the smart contracts to interact with real-world data and apply functions based on that.
Download PDF Version