Cointime

Download App
iOS & Android

Oracles: A Blockchain Tool Of Connect

Validated Project

Bitcoin popularized the decentralization paradigm with the concept of programmable money. The bitcoin (cryptocurrency) transfers are transparent and occur in a peer-to-peer fashion without requiring any intermediaries. Further, Vitalik explored the technology behind- blockchain and unleashed its true potential by showing how programmability can be incorporated into it using smart contracts. A technology once considered a digital currency is now researched worldwide, and many potential use cases related to various domains not confined to the financial sector, have been developed.

Smart contracts were the ones which helped widen the application domain. But smart contracts have severe challenges and boundaries, unlike other programming languages.

How does blockchain work?

A blockchain network is a decentralized network of participants. Each participant will have an immutable ledger for recording the transactions. Every transaction within the ecosystem will be received and verified by all the participants in that system. The blockchain will have a well-defined consensus mechanism- a rule for deciding which transactions should be recorded in the ledger. Based on the consensus, verified transactions are added to the ledger. The essence of decentralization lies in the consensus mechanism, which ensures an unbiased decision verifying the transaction and ledger updates.

There comes our first challenge. A blockchain can verify the transactions only if it has the background data for verification. For example, if a cryptocurrency transaction needs to be verified, it should have the earlier balance of the sender and recipient of that transaction. This is possible in the case of token transfers since all the transfers occur only via blockchain, and smart contracts can access these. But what about the transactions in a supply chain? How will blockchain verify a transaction that needs to record a fact like“ Vehicle A has reached the location ABC with X kg of mangoes”?

Blockchain creates a restricted system environment which is separated from the real world. Smart contracts are programs running on a blockchain which can only passively receive the data into the chain but cannot actively obtain the data out of the chain. A large number of blockchain use cases are based on retrieving and storing real-time data: like location, temperature, price, quantity, quality etc. For this, we need specific services which can feed real-time data onto the smart contracts. They are termed Oracles.

Oracle

Wikipedia defines an oracle as a person or thing that provides wise and insightful counsel or prophetic predictions. The word is believed to be related to Greek culture, referring to divine revelations given by priests or equivalent persons as a response to an inquiry.

A blockchain oracle is defined as an external data agent that observes real-world events and reports them back to the blockchain to be used by smart contracts[3]. Oracle comprises an entire system that collects off-chain data, verifies it and transmits it to smart contracts on the blockchain. An oracle may consist of three elements, as shown in below figure.

The data source can be a sensor (measuring temperature, humidity etc.), a Web Application Programming Interface (which provides access to data recorded in other off-chain applications like stock markets, crypto-exchanges), manual data entry, etc. They are considered trusted data sources. The oracle nodes (service) collect data from the data source, certify accuracy, and convey reliable data to the smart contract. It can be a node, a group of nodes or any trusted environment. A smart contract in the blockchain will have a code that governs the processing based on input data.

These three parts may not exist separately from each other. Oracles are classified based on these entities’ organizations and their tasks.

Types of Oracles

Oracles are classified based on various properties[3].

  1. Data Source: Depending on the external data source, oracles can be classified into hardware, software, and human. Hardware oracles use specific devices like sensors and scanners to gather data. Software oracles use programmed interfaces to collect data like schedules, price data and exchange rates. Human oracles refer to the manual entry of data.
  2. Trust Model: The number of nodes in the oracle network defines the trust model of an oracle. A centralized oracle may be depending on a single source, whereas a decentralized oracle gathers data from multiple sources and reaches a decision based on a consensus mechanism. Provable and Town crier are centralized oracles. Chainlink is a decentralized oracle which acquired Town Crier.
  3. Design Pattern: Oracles can be designed in a request-reply setup, where the smart contract initiates a request serviced by an off-chain element. In a publish-subscribe design pattern, an oracle keeps track of fluctuating data like market prices, temperature etc. Updated data will be broadcasted to its subscribers. The immediate-read pattern is helpful in quick response scenarios like academic certificates or dial codes.
  4. Interactions with external data sources: Interactions can be classified as inbound or outbound. Inbound oracles feed data from external sources to the blockchain (eg reading input data from a sensor and storing it in the blockchain). In contrast, outbound oracles allow smart contracts to deliver data to the external world (eg sending a notification once a blockchain payment is received).

The Oracle Problem

As mentioned before, the consensus mechanism is responsible for the trustless data on the blockchain, which confirms their reliability. At the same time, Oracles skip the consensus mechanism and provide external data to the blockchain without any standard verification. This license gives oracles the privilege to insert arbitrary data on the blockchain.

Since oracles operate separately from the blockchain, they do not guarantee the decentralization, immutability and transparency of the blockchain environment. If any trusted third party is providing the oracle service, it raises some serious questions like

  • Can that third party be trusted?
  • What if the data provided is incorrect?
  • What if the data was recorded correctly but edited by attackers?
  • Won’t that be a single point of failure?

The Oracle problem puts forward these concerns that question the inclusion of oracles which make blockchain adoption risky for specific real-world scenarios. Thus the centralization of oracles raises the Oracle Problem which brings the puzzle between efficiency and decentralization when oracles fetch real-world events data from external data sources [3].

So if a smart contract-based application uses oracles to access external data, proper audit measures should be incorporated to ensure security. If the external data source is not trustworthy, it will affect the credibility of the entire smart contract, which works based on that data and even questions the role of blockchain.

References

[1] Lin, SY., Zhang, L., Li, J. et al. A survey of application research based on blockchain smart contracts. Wireless Netw 28, 635–690 (2022). https://doi.org/10.1007/s11276-021-02874-x

[2] Caldarelli, G. Overview of Blockchain Oracle Research. Future Internet 2022, 14, 175. https://doi.org/10.3390/fi14060175.

[3]H. Al-Breiki, M. H. U. Rehman, K. Salah and D. Svetinovic, “Trustworthy Blockchain Oracles: Review, Comparison, and Open Research Challenges,” in IEEE Access, vol. 8, pp. 85675–85685, 2020, doi:10.1109/ACCESS.2020.2992698.

[4]https://ethereum.org/en/developers/docs/oracles/

Image Courtesy: Flaticon

(By Sumi Maria Abraham, Research and Development Engineer, Kerala Blockchain Academy)

Comments

All Comments

Recommended for you

  • Putin: Russia "supports" Harris, calls her smile "contagious"

    According to foreign media such as TASS and Russia's Sputnik News, Jinse Finance reported that on the afternoon of September 5th local time, Russian President Putin said at the plenary session of the Eastern Economic Forum 2024 that Russia will "support" the US Democratic Party presidential candidate and vice president Harris as recommended by the US President Biden in the upcoming US presidential election. When asked how he viewed the 2024 US election, Putin said it was the choice of the American people. The new US president will be elected by the American people, and Russia will respect the choice of the American people. Putin also said that just as Biden suggested his supporters to support Harris, "we will do the same, we will support her." The report said that Putin also joked that Harris' laughter is "expressive and infectious," which shows that "she is doing everything well." He added that this may mean that she will avoid further sanctions against Russia.

  • An ETH whale repurchased 5,153 ETH with 12.23 million USDT 20 minutes ago

    A certain high-frequency trading ETH whale monitored by on-chain analyst Yu Jin bought 5,153 ETH with 12.23 million USDT 20 minutes ago.

  • CFTC: Uniswap Labs has actively cooperated with the investigation and only needs to pay a fine of US$175,000

    The CFTC has filed a lawsuit against Uniswap Labs and reached a settlement. It was found that Uniswap Labs illegally provided leveraged or margined retail commodity transactions of digital assets through a decentralized digital asset trading protocol. Uniswap Labs was required to pay a civil penalty of $175,000 and cease violations of the Commodity Exchange Act (CEA). The CFTC acknowledged that Uniswap Labs actively cooperated with law enforcement agencies in the investigation and reduced the civil penalty.

  • Federal Reserve Beige Book: Respondents generally expect economic activity to remain stable or improve

    The Federal Reserve's Beige Book pointed out that economic activity in three regions has slightly increased, while the number of regions reporting flat or declining economic activity has increased from five in the previous quarter to nine in this quarter. Overall employment levels remain stable, although some reports indicate that companies are only filling necessary positions, reducing working hours and shifts, or reducing overall employment levels through natural attrition. However, reports of layoffs are still rare. Generally speaking, wage growth is moderate, and the growth rate of labor input costs and sales prices ranges from slight to moderate. Consumer spending has declined in most regions, while in the previous reporting period, consumer spending remained stable overall.

  • Puffpaw Completes $6 Million Seed Round with Lemniscap Ventures as Participant

    Puffpaw has announced the completion of a $6 million seed round of financing, with participation from Lemniscap Ventures. The Puffpaw project plans to launch a blockchain-enabled electronic cigarette aimed at helping users reduce nicotine intake through token incentives. The project encourages users to quit smoking by recording their smoking habits and rewarding them with tokens. Puffpaw's token economics aims to cover 30% of the cost of users' first month of using their product and provide social rewards. The project also considers possible system abuse, but the issue of users potentially reporting smoking habits dishonestly is not yet clear.

  • Affected by Ethervista and others, Ethereum Gas temporarily rose to 33gwei

    According to Etherscan, due to the influence of contracts such as Ethervista, Ethereum Gas has temporarily risen to 33gwei, with the top three being EthervistaRouter, UniswapRouter, and BananaGun.

  • The probability of the Fed cutting interest rates by 25 basis points in September is 55%.

    The probability of the Federal Reserve cutting interest rates by 25 basis points in September is 55.0%, while the probability of a 50 basis point cut is 45.0%. The probability of the Federal Reserve cutting interest rates by a cumulative 50 basis points by November is 32.1%, by 75 basis points is 49.2%, and by 100 basis points is 18.8%.

  • Nvidia: No subpoena received from the US Department of Justice

    Nvidia (NVDA.O) stated that it has not received a subpoena from the US Department of Justice.

  • MarbleX and Netmarble Launch $20 Million Ecosystem Promotion Plan

    Ethereum game platform Immutable has announced a partnership with the blockchain game division Marblex of South Korean gaming giant Netmarble. The collaboration will migrate Marblex's ecosystem and its multiple games from the Klaytn blockchain to the Ethereum Layer 2 network Immutable zkEVM. The games include "Ni no Kuni: Cross Worlds", "A3: Still Alive" and "Meta World: My City", and the two parties will also launch an "ecosystem promotion plan" to provide up to $20 million in support to developers to attract new games to join Marblex and Immutable. It is currently unclear whether the Immutable migration will affect Saga's plans, and the project representatives have not commented on the issue.

  • Blockchain Asset Management announces launch of a dedicated blockchain fund for accredited investors

    Blockchain Asset Management, a cryptocurrency fund with a scale of $100 million, announced the launch of an exclusive blockchain fund for qualified investors. The specific amount of funds raised by the fund has not been disclosed yet, but it is said to have reached "eight figures", which means it is in the tens of millions of dollars. In addition, the investment threshold for the new fund is $100,000, and all investors are required to meet the approved standards (annual income exceeding $200,000, net assets exceeding $1 million).