Research Summary - A Study of Blockchain Oracles

Citation

  • Beniiche, A., “A study of blockchain oracles,” arXiv preprint arXiv:2004.07140 (2020)

Link

Core Research Question

  • What are a blockchain oracles? How do oracles work? And why we need oracles?

Summary

  • This paper study and describe the widely used blockchain oracles. Then, it elaborates on his potential role, technical architecture, design patterns, and use cases. Further, it discusses the human oracle and its role in solving the truth problem by reaching a consensus about a certain inquiry. To identify primary studies where this relationship occurs, the research objective of investigating the relationship between the oracles and blockchain is decomposed into a set of research questions (RQ).

  • RQ1: What types of information do oracles provide to blockchain?

  • RQ2: What are the necessary properties of oracles for use in blockchain solutions?

  • RQ3: How do oracles verify the data they provide to blockchain solutions?

  • RQ4: How can oracles be integrated with blockchain platforms?

  • RQ5: How are oracles used in blockchain solutions?

  • RQ6: In which industries/Dapp are oracles proposed to be used?

Method

  • The overall search method is to find a body of relevant studies. For this paper, two search strategies were used to secure the identification of relevant studies.
  • Accordingly, in the first step, called primary search, search strings were used to identify an initial set of research works and blockchain oracles related white papers. Also, several electronic databases were used for this step.
  • In the second step, a secondary search was performed by means of technical books and research thesis projects.

Results

  • The results obtained from this study in relation to each research question aforementioned in the summary.
  • RQ1. In order to describe the nature of information oracles provide to blockchains and to set a basis of the relationship between oracles and blockchain, the paper explores various information or data types that oracles communicate to the blockchain.
  • RQ2. It’s important to map out the properties, oracles need to possess to be used in blockchain implementations since this is what defines a blockchain oracle. This paper explores these properties to ensures an understanding of the characteristics the entities need to possess to inject information into blockchain, and for them to be named oracles. These properties include the oracle type: centralized (Provable), decentralized (ChainLink), blockchain type, encryption, and authentication methods used in blockchain oracles. Fig. 3 and Fig. 4 depicts the two discussed structure of blockchain oracles: the automated oracle (hardware and software) and the human oracle [1].


Fig. 3. Automated blockchain oracle structure.


Fig. 4. Human blockchain oracle structure.

  • RQ3. Data verification is the bread and butter of blockchain oracles, since information recorded in blockchain can’t be deleted, which makes this topic vastly critical for the use of oracles in blockchain networks. Mapping the landscape of possible data verification mechanisms employed in blockchain oracles is crucial for their real-world implementation. This paper explains how data is defined to ensure that information that is collected from external to blockchain sources matches data that is passed to the blockchain and is truthful and correct.
  • RQ4. Oracle integration into blockchain platforms contributes to blockchain wide-spread implementation since oracles help solve the issue of bringing external data into the network. This paper investigates various ways oracles could be integrated provides a good basis for planning possible implementations allowing implementors to make necessary decisions when developing blockchain solutions.
  • RQ5. and RQ6. Blockchain projects (e.g., Dapps) utilize oracles for different purposes and in various industries. The paper explains the last pair of research questions set out to describe a current landscape of possibilities for use of oracles in blockchain implementations. They aim to uncover the various purposes and use cases for which blockchain oracles are implemented, along with associated industries. By use case, the paper describes scenarios where oracles are integral to the success of the blockchain project. As such RQ5 aims to explore blockchain oracle usage scenarios (use cases), while RQ6 investigates the industries where these use cases take place.

Discussion & Key Takeaways

  • Blockchain has become a technological enabler for many industries and innovative solutions. The majority of blockchain projects today operate in the domain of the virtual environment, due to limited exposure of the blockchain to the external to the network data sources. Oracles are entities that enable the collection, verification, and transmission of this data to the blockchain.
  • The key takeaways of this paper were to explore the relationship between the oracles and the blockchain. As part of this, the author explored various types of information and blockchain oracles that interact with as well the types of oracles involved in these interactions.
  • Blockchain oracle interaction aspect such as encryption, authentication, data verification, and integration was explored to understand the existing landscape of the relationship blockchain and oracles have. As a result, the paper enabled to present an overarching study to support blockchain researcher, project decision-makers, and developers in their efforts.

Implications & Follow-ups

  • The author conducted an exhaustive search and present a detailed review and comparison of state-of-the-art blockchain oracle platforms and early implementations/proposals.
  • The paper categorized existing blockchain oracles that employ centralized and decentralized with respect to data sources, trust models, design patterns, and data interactions to enable inbound and outbound interactions between smart contracts and various types of oracles.

Applicability

  • Blockchain oracles are a relatively new research topic in academia and industry. This work can be useful for many purposes.
  • Performing a comprehensive survey or research tutorial on blockchain oracles by scientists and researchers in both academia and industry.
  • A guidelines to support blockchain developers, project managers, and/or blockchain project decision-makers in their efforts to bring external data into their new or existing networks.
  • Enable any scientific/technical teams to better understand the existing landscape of blockchain oracle offerings, but also be able to design new oracle solutions that would fit their specific needs.

[1] Alexander Egberts, “The Oracle Problem: An Analysis of how Blockchain Oracles Undermine The Advantages of Decentralized Ledger Systems,” Master Thesis, EBS, December 2017.

3 Likes

Jalil, thanks for the detailed overview of your work.

It’s been a big year for oracles in general as DeFi has become more ubiquitous. We’ve seen rapid expansion and iteration in use cases specifically relating to price feeds, and we’ve seen firsthand what can happen to protocols that don’t have robust oracle infrastructure, especially concerning flash loan exploits.

You identify a fairly lengthy list of use cases for oracles in your paper (parametric insurance, geolocation data, oracles as an abstraction layer). Which use case do you see as the next major area of development? Who do you think is doing high impact research or work in that space?

1 Like

In my opinion, the next major area of development will be focused on human input, specifically human intelligence given that currently, we see how artificial intelligence (AI) is/will dominate the majority of human tasks. The next will be a crowd-based oracle that enables the on-chaining of blockchain-external off-chain information (e.g., correct answers, dispute resolution, decisions, inputs) stemming from human users (crowdsourcing).

Up to now, there exist some emerging crowd-based oracles such as Realitio [1] and Kleros [2]. Crowd-based oracle could servers in many areas that cannot be solved by machines, e.g., small claims, E-commerce, freelancing, and content moderation.

[1] https://reality.eth.link/
[2] https://kleros.io/

1 Like

What is the rationale behind using human input as the oracle itself? It seems like that may be a challenging problem to scale. What would the benefit be as opposed to, say, an on-chain reputation system or prediction market (something using human input), and just exporting the result as data to an oracle network? An off-chain API could contribute to that as well. For example, polls or survey data that’s weighted according to quality of sample.

Then you could just use an oracle to call the data API and inform the smart contract. Similar to the AI process as most of those are already off-chain.

2 Likes

Blockchain oracles are third-party services that supply external data to smart contracts.
They act as a connection point between the outside world and blockchains.
Off-chain data cannot be accessed by blockchains or smart contracts (data that is outside of the network). To perform many commercial agreements, it is necessary to have pertinent information from the outside world.
Blockchain oracles are useful in this situation.

A blockchain oracle’s functionality is solely dependent on the purpose for which it was created. Oracles can have a variety of functions or characteristics.

Human oracles not only transport but also build this product when an automated oracle (software, hardware) is compared to a delivery person who picks up a piece of information and delivers it to the consumer, which is the blockchain.

5 Likes

Nice work @abdeljalil.beniiche.
Blockchain oracles are known as third-party services that supply external data to smart contracts.
They act as a connection point for the outside world and blockchains.
Without oracle,Off-chain data cannot be accessed by blockchains or smart contracts (data that is outside of the network). To perform many commercial agreements, it is necessary to acquire pertinent information from the outside world.
Blockchain oracles can help in this situation since they act as a bridge between off-chain and on-chain data. Because they increase the range of possibilities for smart contracts to work, oracles are essential components of the blockchain ecosystem. Smart contracts wouldn’t be particularly useful without blockchain oracles as they would only have access to data from their own networks.
It’s crucial that we note and understand that a blockchain oracle is only the layer that searches, authenticates, and checks external data sources before relaying that information and not the data source itself. The information sent by oracles can take many different forms, such as pricing details, confirmation of a transaction’s success, or sensor-measured temperature data.

The blockchain oracle issue:
The problem with the blockchain oracle brings to light a crucial limitation of smart contracts: they are completely cut off from data and systems outside of the blockchain environment in which they were created. Data now stored on the blockchain is referred to as “on-chain,” whilst external resources are referred to as “off-chain.”
By being purposely cut off from other systems, blockchains are able to accomplish their most advantageous characteristics, including the prohibition of double-spending attacks, broad agreement on the veracity of user transactions, and a decrease in network downtime. You’ll need an additional piece of infrastructure known as a “oracle” to securely communicate with off-chain services from a blockchain and to span two environments.

Solving the oracle problem is crucial because the vast majority of smart contract use cases, including DeFi, need knowledge of real-world data and off-chain occurrences. By offering a universal gateway to off-chain resources while upholding the blockchain’s fundamental security features, oracles therefore expand the sorts of digital contracts that blockchains may support.

why do we need oracles ?
Oracle serves as a means of bridging the gap between the off-chain environment and the smart contracts that are employed by many of the DApps available today.

In conclusion,
By incorporating outside data into the equation, oracles play a crucial part in the execution of smart contracts. However, oracles are extremely dangerous because, if they are reliable sources and are vulnerable to hacking, they might endanger the execution of the smart contracts they supply.
we should note that while evaluating the usage of an oracle, the trust model must be carefully evaluated. You may be risking the smart contract’s security by exposing it to possibly wrong inputs if we think the oracle can be trusted. Oracles can be useful, nevertheless, if the security assumptions are carefully taken into account.
Decentralized oracles, which provide Ethereum smart contracts with unreliable external data, can help alleviate some of these issues. Before studying the oracles’ link between Ethereum and the outside world, you must carefully choose it.

2 Likes

@abdeljalil.beniiche Thank you very much for this fantastic summary.

Blockchain oracles
provide a link between off-chain and on-chain data.
Without blockchain oracles, smart contracts would have very
limited use as they would only have access to data from within
their networks.

The Blockchain oracle is not the data source but its only authenticates, verifies and quarries off-chain data source.
There are different types of oracles which are designed based on their specific role.

1 Like