What is a blockchain oracle, and what fundamental limitation does it exist to overcome?
An oracle is a bridge component that moves data between a blockchain and the outside world — it exists because a blockchain is a closed-world system that can only see data already recorded on-chain.
A blockchain is, at bottom, an append-only, replicated store of transactions linked into a chain by hashing. From inside, code running on it (a smart contract) can read only state that is already on the chain — it has no way to open a network socket, call a web API, or read a physical sensor. That isolation is not an accident: it is what lets every node independently re-run a transaction and agree on the outcome. An oracle sits at that boundary and does the outside-world interaction off-chain, then hands the result to the chain (or carries chain data outward). It is the standard answer to "how does on-chain code learn a price, the weather, a random number, or that a shipment arrived?"
Go deeper:
Blockchain oracle (Wikipedia) — the concept, worked examples, and the trust "oracle problem" in one primer.
Foundational Oracle Patterns (Mühlberger et al., arXiv) — the paper this whole topic is built on; motivates the closed-world limitation oracles exist to bridge.