# Blockchain Oracle
## Blockchain oracle problem
- Blockchains have a fundametal limitation: they cannot natively communicate with systems in the outside world.
- This lack of external connectivity, known as "the oracle problem," prevents smart contracts from verifying external events, trigger actions on existing systems, and providing users full range of functionality.
## What is blockchain oracle?
- A blockchain oracle is the third-party service that connects smart contracts with the ourside world, primary to feed information in from the world, but also the reserse.

<em>Blockchain oracles connect blockchains to inputs and outputs in the real world (Image source: Chainlink)</em>
## Types of blockchain oracle
### Input oracles
- The most widely recognized type of oracle today is known as an "input oracle", which fetchs data from the real-world(off-chain) and delivers it onto a blockchain network for smart contracts consumption.
- Examples: Chainlink Price Feeds ...
### Output oracles
- The opposite of input oracles are "output oracles", which allow smart contracts to send command to off-chain system that trigger them to execute certain actions.
### Cross-chain oracles
- The oracle can read and write information between different blockchains. Cross-chain oracles enable interoperability for moving both data and assets between blockchains.
### Compute-enabled oracles
- The oracle that use secure off-chain computation to provide decentralized services that are impractical to do on-chain due to technical, legal, or financial constraints.
## Notable blockchain oracles
- Chainlink (LINK).
- Band Protocol (BAND).
- Teller (TRB).
- Decentralized Information Asset (DIA)
- API3
## Refs
- [Wikipedia - Blockchain oracle](https://en.wikipedia.org/wiki/Blockchain_oracle#:~:text=A%20blockchain%20oracle%20is%20a,that%20decentralised%20knowledge%20is%20obtained.)
- https://chain.link/education/blockchain-oracles
- https://coin98.net/what-is-blockchain-oracle
###### tags: `blockchain` `oracle`