Blog written by Martin Westerkamp, Blockchain Researcher at Technische Universität Berlin and T-Labs, Telekom Innovation Laboratories
What is meant by interoperability?
In the context of blockchain technology, interoperability refers to the exchange of data between blockchain networks. Such data exchange may either include the replication of data from one blockchain to another, or the execution of functions conditional to information that was revealed on another blockchain. For example, transferring tokens between blockchain networks requires a locking operation on the source blockchain before minting respective representations on the target blockchain. Such proofs typically involve the replication of data to verify the locking event. On the other hand, exchanging tokens stored on distinct blockchains between two parties, so-called atomic swaps, includes revealing information to the counterpart who utilizes the learned fact to retrieve the exchanged asset.
While blockchain integration includes the orchestration and integration of blockchain clients into existing IT infrastructures, interoperability focuses on the communication between networks to exchange tokens, execute functions, or retrieve information.
What are the challenges?
When transferring data between networks, the receiving blockchain must be able to verify its correctness. Thus, it has be ensured that the respective transaction, state, or event is or was present on the source blockchain at a certain point in time. The transfer protocol must cater for the target use case’s requirements regarding timeliness, trust, and costs. Especially when applied to public settings, achieving all these goals can be difficult. For instance, Proof-of-Work blockchains such as Bitcoin and Ethereum 1.0 only provide probabilistic finality. The likelihood of a block’s permanent inclusion in the blockchain increases with the number of blocks appended to it. Thus, a receiving application must wait for a certain amount of time before trusting transferred data. Furthermore, the validation of data involves costs when applied in a public setting. Therefore, the implemented approach needs to balance security with costs required for on-chain validation.
Interoperability schemes must also ensure that potential failures of blockchains remain isolated and do not affect the security of other blockchains. For example, tokens may be transferred between blockchain networks using a locking and unlocking mechanism. The protocol must keep track of the number of locked tokens and guarantee that new tokens can only be minted if their representation was destroyed on the other blockchain. Therefore, a successful attack on a linked blockchain cannot lead to the creation of new invalid tokens on the source blockchain.
What are current approaches?
A plethora of approaches has been proposed to implement blockchain interoperability. Every approach caters for different use cases such as token exchange and transfer, cross-chain state access, or smart contract function invocation. In the following, three approaches to implementing blockchain interoperability are presented. While atomic swaps are limited to token exchange, notary schemes and chain relays allow for more elaborate use cases that require access to states, transactions, or events.
- Atomic Swaps: One of the most prominent use cases for blockchain interoperability is the exchange of tokens between two (or more) participants. Here, both participants have access to both blockchains, and their tokens are stored on one of these, respectively. After they agree to exchange the tokens at a set exchange rate, they perform a commit-reveal scheme that enables the exchange to be executed atomically. Thus, either the exchange is executed entirely, or it is reverted. As the information required to execute the scheme is retrieved by observing the blockchain holding the counterpart’s assets, data exchange between the blockchain networks is not required. In practice, users do not have to execute the steps for performing atomic swaps manually but can utilize elaborate wallet implementations such as the Liquality Wallet.
- Notary Schemes: While atomic swaps are limited to a single use case, notary schemes enable flexible exchange of data. Here, external entities retrieve data such as transactions, states, events, or dedicated cross-chain messages from one blockchain. Thereafter, they sign it and submit it on another blockchain for further processing. These notaries may either be a single trusted entity or a group of participants. To disincentivize dishonest behavior, notaries often deposit a certain amount of collateral that can be reduced in case fraudulent activities are detected. Other implementations rely on well-trusted entities to generate trust in the relayed data. After the signed data is submitted to the target blockchain, the respective signatures are validated. Some implementations require a certain number of signatures to accepts relayed data.
Notary schemes are very flexible, as they operate independently from consensus algorithms and other implementation details of the underlaying blockchain. Furthermore, they can provide timely data and on-chain validation of signatures is cheap compared to chain relays. They incorporate little overhead for creating and verifying complex proofs or intermediary data.
- Chain Relays: The objective of chain relays is to provide universal interoperability between blockchains without requiring trust in any intermediaries. Instead of relying on external auditors, the hash chain of the source blockchain is executed on top of a target blockchain, usually within a smart contract. Thus, networking, computation, and storage costs are reduced, as transactions must not be validated. Based on relayed block headers, users are enabled to prove the inclusion of transaction, states, and events.
In contrast to notary schemes, users of chain relays only need to trust in the functional implementation of the chain relay. Therefore, they are also deemed to provide trustless cross-chain data exchange. Yet, the validation of entire hash chains involves overhead, as the source blockchain’s consensus protocol is usually executed for every block header of the source chain, resulting in costly overhead.
What is possible, what is not?
Blockchain interoperability targets the execution of operations that is conditional to information stored on another blockchain. Yet, limitations exist:
- Direct message exchange between two blockchain networks is impossible
- One or many intermediaries (trusted or untrusted) must relay data
- Blockchains cannot query external information, as it would restrict its determinism and thus verifiability (oracle problem)
- Intermediaries must have access to both blockchains to relay data
- Transferred data must satisfy the user’s trust policy, for instance, through
- Well established trust towards a known relayer
- Trust in a set of relayers
- Data is trustworthy if the number of signatures exceeds threshold
- Collateral may hold relayers accountable for fraudulent behavior
- On-chain verification using audited chain relays
In contrast to blockchain interoperability, many projects focus on facilitating the integration of blockchain systems into legacy IT infrastructures, their orchestration, and operation. While blockchain integration plays an important role for the adoption of blockchains, the integration of blockchains is a separate topic and does not include interoperability.