Although distributed ledgers gradually become and accepted technology, there currently are some challenges that need to be solved. As nearly all current ledgers are siloed, one of those challenges is interoperability between ledgers. Interoperability, from a broad perspective, allows two different, separate ledgers to work with each other.
The need for interoperability is shown by the many initiatives that aim to achieve interoperability between distributed ledgers. Indeed, several solutions have been proposed and an initial classification of these solutions was proposed by Vitalik Buterin here.
However, it is not always clear which properties these solutions have, nor which particular issues exist in such solutions. This makes it hard to decide which solution to choose. Even more, some consequences of interoperability may be an argument for not interoperating with other ledgers.
In this (extended) paper we assess interoperability solutions for distributed ledgers. We propose 12 key properties with which we can distinguish between interoperability solutions in three ways.
First, we can distinguish between three kinds of interoperability solutions, being notary schemes, relay schemes, and hash-locking schemes. Second, these properties allow us to distinguish between subcategories of these kinds of solutions. And third, we can distinguish between generic and specific issues of these kinds of solutions.
Furthermore, by using these properties, we describe and analyze five real world solutions, being Polkadot, Cosmos, BTCRelay, Dogethereum and hashlocking schemes in general.
We discuss in detail the zone-spend attack. This attacks considers two interoperating ledgers, and under the assumption that one ledger uses a probabilistic consensus algorithm, we conclude that there exist a risk of creating an immutable, invalid state between the two ledgers, even if one of the ledgers uses a deterministic consensus algorithm. Note that no interoperability solution can mitigate this risk.
Finally we evaluate these 5 solutions and discuss several interoperability issues. We conclude that although the three kinds of solutions offer different functionalities, there exists an overlap of issues between these kinds of solutions. This is useful for deciding which interoperability solution to choose, and becoming aware of the current issues that come with each solution.
Our paper can be found here and feedback is, of course, welcome.