Oracles are the middlemen that bridge the gap between real-world (off-chain) services and blockchain (on-chain) protocols. Oracles retrieve off-chain data and post this data to the blockchain for smart contract consumption. They also relay messages and instructions from a smart contract to off-chain external systems. In addition, oracles must also ensure that the data that they provide is accurate and resistant to manipulation.
The ideal price oracle should embody the following: