About blockchain interoperability

https://doi.org/10.1016/j.ipl.2020.105976Get rights and content

Highlights

  • Describes key challenges to blockchain interoperability.

  • Introduce a formal context of blockchain interoperability.

  • Explores the meaning of this definition.

Abstract

A blockchain is designed to be a self-sufficient decentralised ledger: a peer verifying the validity of past transactions only needs to download the blockchain (the ledger) and nothing else. However, it might be of interest to make two different blockchains interoperable, i.e., to allow one to transmit information from one blockchain to another blockchain. In this paper, we give a formalisation of this problem, and we prove that blockchain interoperability is impossible according to the classical definition of a blockchain. Under a weaker definition of blockchain, we demonstrate that two blockchains are interoperable is equivalent to creating a ‘2-in-1’ blockchain containing both ledgers, thus limiting the theoretical interest of making interoperable blockchains in the first place. We also observe that all practical existing interoperable blockchain frameworks work indeed by exchanging already created tokens between two blockchains and not by offering the possibility to transfer tokens from one blockchain to another one, which implies a modification of the balance of total created tokens on both blockchains. It confirms that having interoperability is only possible by creating a ‘2-in-1’ blockchain containing both ledgers.

Introduction

Blockchain was first introduced in 2008 by Nakamoto in [1]. In their paper, the anonymous author(s) described the first decentralised ledger: a database in which anyone can write, and that is not controlled by a single or a conglomerate of identities. Since then, many other blockchains have been described: Ethereum [2], Ripple [3] and many others. In May 2019, 248 active blockchains were listed on [4].

While many different blockchains exist, there is no direct way of reaching interoperability, at least without a trusted third party. Consider for instance a client willing to convert their Bitcoins to Ether: they would need to consume the amount of Bitcoins they wants to convert and to generate the equivalent amount of Ether. While Bitcoin consumption may be reachable (by sending coins to a non-existing address, such as the address 0), it is impossible to spontaneously generate Ether (or any other kind of cryptocurrency). For now, the problem is solved with the help of trusted brokers (also called escrows), even though other solutions are on their way [5], [6].

The issue of interoperability is solved in some cases, like “atomic exchanges” and hash-locking [7], in which game theory ensures that a broker only benefits when following the protocol. However the question of trustless interoperability in the general context remains open.

Contributions  We introduce a theoretical background to blockchain interoperability, providing a formal definition of a blockchain and of interoperability. We then prove that, by definition, interoperability between two public blockchains is impossible. However, we contend that there may be special conditions under which two blockchains can be interoperable. This leads us to prove the equivalence between two interoperable public blockchains and a ledger emulating both blockchains on two separate registries.

Related work  The concept of sidechains (a sidechain is a blockchain attached to another blockchain, with exchanges possible between the two blockchains) has been explored in [8]. The authors describe a two-way peg in which a sidechain is fed with an SPV proof, a short proof of the transaction allowing for lightweight clients. The sidechain plays the role of a lightweight client, and can thus allow subsequent operations following the SPV proof. However, this pegging system requires a contest period, during which it is assumed that people will verify that the SPV proof does not come from a fork. Hence, additional trust is required in this model. In a paper from 2016 [7], Buterin lists ways of reaching interoperability, and focuses on trusted inter-chains exchanges, where one sends money on blockchain A and receives some in blockchain B.

Similarly, the Interledger protocol [6] (ILP) allows one to automatize money transfers while leveraging the risk of fraud, thanks to micro-transactions. Yet, ILP is more about escrow synchronization than interoperability as we define it later on. In an ILP transaction from blockchain A to blockchain B, one must find an escrow having enough money on B (or several escrows having in total enough money), so the transfer can occur. More generally, we consider that interoperability can for instance allow money to ‘disappear’ from A and to ‘reappear’ on B, without the need for trusted escrows.

Interoperability has been notably implemented in the blockchain network Kadena [9], in which transfers from one blockchain of the network to another is possible. The money is destroyed on one side and generated on the other. Kadena also uses smart contracts for securing escrow transfer. However, there is no indication that Kadena can operate with chains outside of their specific network. So in our terminology, we say that Kadena is a “N-in-1 blockchain”, which is to say one blockchain, with several ledgers.

To the best of our knowledge, no theoretical work on interoperability has been done to date. Our work, rather than giving a practical implementation of an interoperable blockchain, gives a theoretical background to the topic, and explores the conceptual meaning of having interoperable blockchains.

Outline  In the next section, we formally define a blockchain and interoperability. In Section 3, we prove that it is impossible by design to have interoperability between blockchains. In Section 4, we show that interoperability is possible with a weaker definition of the blockchain. Before concluding, in Section 5, we prove that interoperability is equivalent to having a blockchain with two ledgers.

Section snippets

Preliminaries

Sets and tuples are noted in calligraphic font: A, algorithms in serif: Mine. When a deterministic algorithm, say Algorithm, returns some value x from some input i, we use the notation xAlgorithm(i). If Algorithm is randomised, we use the notation x$Algorithm(i). A list of elements e1,,en (in this order) is represented by [e1,,en]. We denote concatenation of two lists a and b with ab. The set of elements belonging to A but not to B is noted A\B (this set is also called the difference of A

General impossibility of interoperability

Our first result is to show that it is impossible to have interoperability between two blockchains in general.

Theorem 1

Under the Definition 3, Definition 5, blockchain interoperability is impossible.

Proof

Assume that an interoperable transaction t exists. Then there is a set ωB of possible ledger values of B for which a block containing t is accepted by ConsensusA, if LBωB. Moreover, if LBΩB\ωB, then ConsensusA will refuse any block containing t.

However, ConsensusA only takes A,S as arguments, where S is a

Interoperability with a weaker definition

Even though blockchain is not suited for interoperability stricto sensu, we can generalise our blockchain definition, in order to make a blockchain interoperable.

Hypothesis 1

We assume that for two blockchains A=(LA,WA,EmitA,MineA, ConsensusA) and B, with A both MineA and ConsensusA have access to both A and B: ConsensusA is of the form ConsensusA(A,B,S), and MineA is of the form MineA(LA,LB,WA,WB).

We now use the notation ConsensusA(A,B,) to note the new consensus algorithm. Hence, the ‘version’ of

Equivalence of interoperable blockchains with a single blockchain

Even though interoperable blockchains can be tweaked into existence, we argue that they are conceptually equivalent to a single blockchain. More precisely, we argue that they are equivalent to one blockchain, composed of two ledgers. Such a blockchain can be easily implemented: if the first bit of the transaction is 0, then apply the transaction to the first ledger, and if 1 to the second.

We say that two blockchains are equivalent if any valid transaction on one blockchain corresponds to one

Conclusion

In this paper, we explored the possibility of making two blockchains interoperable. We showed that, under classical definitions, it is impossible to make a blockchain interact with anything other than itself. If we relax the definition, we do get the possibility of interoperable blockchains, but doing so is equivalent to creating a ‘2-in-1’ blockchain, i.e., a blockchain with two ledgers.

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

References (13)

  • S. Nakamoto

    Bitcoin: a peer-to-peer electronic cash system

  • V. Buterin

    Ethereum: a next-generation smart contract and decentralized application platform

  • D. Schwartz et al.

    The ripple protocol consensus algorithm

  • CryptoID

    Crypto-currency blockchain explorers

  • S. Johnson et al.

    Sidechains and interoperability

  • S. Thomas et al.

    A protocol for interledger payments

There are more references available in the full text version of this article.

Cited by (0)

View full text