Infochain: A Decentralized, Trustless and Transparent Oracle on Blockchain

Naman Goel
Games, Agents, and Incentives
5 min readApr 29, 2020

Based on our IJCAI 2020 paper. Joint work with Cyril van Schreven, Aris Filos-Ratsikas and Boi Faltings

With the increasing popularity of the blockchain technology in recent years, the implementation of commercial and governmental systems has witnessed a large shift towards distributed and decentralized approaches. In particular, the emergence of the Ethereum platform has given rise to the development of several applications (often referred to as decentralized apps or DAPPs) which aim to apply this latter principle to many areas of interest such as finance, education, intellectual property, policy-making and governance etc. In the heart of these approaches lies the concept of the smart contract, i.e., lines of code that contain the terms of the agreement between the involved parties, which are automatically executed once triggered by events happening in the real world. For a concrete example, consider the case of a web service, which is typically dictated by a service level agreement (SLA) between the service provider and the clients. The SLA can be coded into a smart contract between the involved parties which will trigger an automatic payment upon detection of a violation. For instance, if the service guarantees a response time of at most 1 second, a slower response would result in the clients being compensated by the smart contract. An important issue here is, how do we determine whether the real-world event has actually happened?

The entities responsible for acquiring such data about the real-world events are called the oracles; in the web service example, these are third-party companies that monitor the web services. Besides the fact that such an approach is in conflict with the decentralized nature of the blockchain technology, it is also prone to problems such as the trustworthiness, the accuracy and the hiring costs of the oracles. A fundamentally different (decentralized) solution would be to appeal to the “wisdom of the crowds” and gather the information about the real world from the participants of the platform themselves.

Julien Thevenard has written an excellent survey on Medium about the existing oracle solutions for smart contracts.

Challenges in Building Decentralized Oracles and the Infochain Solution

We identify and address two biggest challenges in building decentralized, trustless and transparent oracles.

1. Truthful Information Acquisition

QoS Monitoring: A Motivating Example of Outcome Dependent Lying Incentives. Replacing trusted third party with the users themselves creates lying incentives for the users to misreport the true QoS received from the service provider. A game-theoretic mechanism incentivizes the users to report truthfully. The game-theoretic mechanism itself can be implemented by a regulatory authority in a completely decentralized, trustless and transparent manner by using the blockchain technology. A smart contract can automatically process refunds based on the crowdsourced outcome and the conditions of the SLA.

The first challenge is acquiring correct information about the real-world events without relying on a trusted information provider. In most applications of interest, crowd may have outside incentives to provide false information, making the problem even more difficult. In our running example of web services SLAs, if a smart contract determines the QoS using client feedback, it is clear that the clients would have incentives to report a violation regardless, in order to be compensated. To get truthful reports from the users, their incentives must be aligned with truthful behavior by using a game-theoretic mechanism. The task of eliciting information from self-interested agents is one of the fundamental problems in game theory, and has been extensively studied. In the center of these investigations lies the literature on peer-consistency mechanisms [Faltings and Radanovic, 2017]; these are game-theoretic mechanisms that incentivize agents to report the information truthfully, even when the information is unverifiable. We employ the PTSC mechanism of [Radanovic et al., 2016] as an incentive mechanism. We prove that, with an appropriate choice of the scaling constant, the mechanism can be used to ensure that truth-telling is a strict equilibrium of the induced game. This is the first result of this nature, that shows that a peer-consistency mechanism can be applied to the case of outcome-dependent incentives in a general information elicitation scenario. We show that normally the payments required are a small fraction of the outside incentive. Furthermore, we show that if there is any positive fraction f of honest agents (i.e., agents that always report truthfully), the strategy profile in which the agents exercise their outside incentives, or denial strategies (e.g., reporting “bad” service) is no longer an equilibrium. Assuming the existence of honest agents is very different from using trusted authorities since our method does not depend on knowing who these honest agents are. This is a rather common scenario, as in a large platform, one would normally expect at least a few agents to behave honestly but we would not expect to know their identities.

2. Implementing a Truthful Incentive Mechanism on Blockchain

The second is a system design and implementation challenge. For a peer-consistency mechanism (like the PTSC) to actually work, the agents must be convinced of its incentive properties, contrary to the traditional case, where the implementation of the mechanism is done by a (assumed to be) trusted third-party. How can one implement the incentive scheme in a transparent and trustless manner, what is the cost and how can we optimize this cost?

We design and implement Infochain, a completely decentralized peer-consistency based truthful information collection system in Ethereum. We address the following technical challenges in its implementation.

  1. Writing data and performing computation on Ethereum’s Virtual Machine (EVM) is expensive. Information providers must be compensated for this cost, increasing the overall cost of information acquisition. Infochain develops several non-trivial ways of implementing three different peer-consistency mechanisms in Solidity (Ethereum’s programming language) and achieves significant reduction in gas cost.
  2. While transparency is a desired inherent feature of blockchain, the peer-consistency mechanisms are compromised if an agent can see the information submitted by their “peers” before submitting their own information. Infochain uses a commit-reveal protocol to address this challenge.
  3. In order to reduce computation complexity, peer-consistency mechanisms use only one (or a few) randomly selected peer(s) for every agent. However, if the random peer(s) can be predicted, the agents get an opportunity to collude and the mechanisms can be compromised, and this risk is increased by the transparency of blockchain. Infochain shows that under reasonable assumptions, random peer selection can still be implemented safely.

A link to the full paper will be provided here once the paper appears in IJCAI proceedings. We welcome comments and suggestions from readers.

UPDATE: The paper is available at the following link:

https://www.ijcai.org/Proceedings/2020/635

References

[Faltings and Radanovic, 2017]. Boi Faltings and Goran Radanovic. Game theory for data science: Eliciting truthful information. Synthesis Lectures on Artificial Intelligence and Machine Learning, 11(2):1–151, 2017.

[Radanovic et al., 2016] Goran Radanovic, Boi Faltings, and Radu Jurca. Incentives for effort in crowdsourcing using the peer truth serum. ACM Transactions on Intelligent Systems and Technology (TIST), 7(4):48, 2016.

--

--