Liminal secures FSP license from FSRA in ADGM   Read more

Oracle Blockchain

| May 13, 2024

Share this article

Key Takeaway

  • Blockchain oracles act as intermediaries linking blockchains with external systems. This connection empowers smart contracts to function based on real-world inputs and outputs.

What is an Oracle Blockchain?

A Blockchain Oracle serves similarly to a third-party service provider. It connects third-party applications and services to the blockchain and supplies external data to smart contracts. Smart contracts and blockchains inherently exist in isolation from the real world. Technically speaking, they are not designed to interact with off-chain information, i.e., data not on the network.

Blockchain oracles act as vital intermediaries, bridging the gap between the blockchain and both off-chain and on-chain data. This is how it enhances the utility of smart contracts. The availability of off-chain information expands the potential applications of smart contracts. Without blockchain oracles, smart contracts would be confined to interacting solely with on-chain data. Thus limiting their versatility.

A blockchain oracle functions as a solution layer that verifies, queries, and validates data sources external to the blockchain. Once processing is complete, the results are transmitted accordingly.

Moreover, the information provided by blockchain oracles can encompass a wide range of valuable data. For instance, in the healthcare sector, oracles could facilitate inquiries about insurance information. Similarly, the food industry may utilize oracles to relay data concerning food products’ production and distribution chain.

How Oracles Blockchain Function?

Oracle blockchain facilitates the interaction between users, typically smart contracts and external data sources not stored on the blockchain. According to ethereum.org, here’s an overview of their operation:

1. Data Request:

Users can initiate data requests specifying desired data, sources, and processing methods for aggregation into a single value.

2. Oracle Contract Processing:

On-chain oracle contracts receive data requests, transmit them to off-chain oracle nodes, and return data to smart contracts. Auditing the smart contract code is crucial to ensure proper functionality.

3. Log Event Generation:

The oracle contract generates a log event, which serves as a signal for the off-chain oracle node. The ‘eth_subscribe’ command is commonly used in JSON-RPC for event subscriptions on the Ethereum network, with similar methods applied in other blockchain networks.

4. Off-chain Task Initiation:

The oracle node captures the log event and starts the off-chain task. It does so by dispatching an HTTP GET request or other API calls to third-party services. Once data is retrieved, it undergoes processing, reformatting into a blockchain-compatible format, and submission back on-chain via a transaction to the Oracle contract. These actions occur off-chain to circumvent gas expenses, block dimensions, and other on-chain limitations.

It’s essential to distinguish between data sources and oracles. Oracles serve as intermediaries, enabling smart contracts to access data rather than being the data sources themselves.

Types of Oracles Blockchain

While all blockchain oracles aim to securely connect on-chain and off-chain information, they employ various methods to achieve this goal. Here are several distinguishing features of blockchain oracle networks:

  1. Inbound and Outbound Oracles: Oracles are classified based on the direction of data flow. Inbound oracles bring information into the blockchain. At the same time, outbound oracles transmit data from the blockchain to external sources. Presently, most oracles focus on bringing data onto the blockchain.

  2. Hardware and Software Oracles: Oracles are categorized according to their data sources. Hardware oracles gather information from physical devices, such as sensors. In comparison, software oracles retrieve data from the web, such as APIs from exchanges.

  3. Centralized and Decentralized Oracles: Centralized oracles rely on a single trusted source for data feeds. This introduces a significant risk of centralization. In contrast, decentralized oracles utilize consensus mechanisms, token incentives, and multiple node operators to provide data in a trustless manner. Thereby eliminating a single point of failure. Chainlink is a prominent example of a decentralized oracle.

  4. Compute-Enabled Oracles: These oracles specialize in relaying complex off-chain computations to trigger functions on-chain. Such computations are often too intricate to execute on the chosen blockchain. While many layer-two scaling solutions employ compute-enabled oracles, these services can also offer sophisticated analysis and commands for layer-one blockchains.

  5. Human Oracles: Humans can contribute data feeds to blockchain oracles, such as meteorologists inputting weather predictions into smart contracts. Human oracles typically utilize advanced verification systems to verify the sender’s identity.

  6. Contract-Specific Oracles: These oracles have a one-time use case; once their smart contract parameters are fulfilled, their task is complete.