Oracles in Blockchain: Bridging On-Chain and Off-Chain Data