2022-01-21

Interoperability in Blockchains


Blockchain Interoperability

Since 2011, the world has shifted into a new age of technology with the Industrial Revolution 4.0 (IR4.0) being the buzzword of the decade. The technology within the IR4.0 includes blockchain which revolutionised many areas in our lives. These areas include financial industry, data management, privacy in social media and gaming.

Since the rise of blockchain technology after Satoshi published his 2008 bitcoin paper, blockchain technology itself has seen massive growth with the introduction of smart contract blockchain such as Ethereum, decentralised finance through Curve and Compound and gaming through Axie Infinity. However, this rapid growth is not without any hindrance. Ethereum for example, faces the scalability issue and high gas fees. Another important issue is the interoperability between blockchains.

Interoperability
Blockchain Interoperability

Interoperability

Interoperability is the ability to operate between different chains together. This means that different blockchains have a way to communicate with each other, and exchange data or tokens with each other without or with limited issue. Blockchains or ‘mainnets’ are usually referred to as ‘Layer-1’, while interoperability projects are sometimes known as ‘Layer-0’ projects which manage the ‘Layer-1’.

At first, one may ask, why do we need interoperability?

We shall answer this question by understanding the problems that lie in the current blockchain technology, and then we shall understand how interoperability can solve these problems.

Communication

Even though numerous blockchains have grown substantially, there is one major issue that we must address if we are to benefit from all of them: interoperability. Blockchains or ‘Layer-1’ such as Bitcoin, Ethereum, Solana and Cardano have risen to become the top blockchains in terms of usability and applications built on top of it. However, these blockchains have difficulty communicating with each other, or in other words, have interoperability issues between them. They cannot interoperate with each other.

For example, assume we have two individuals called A and B. A owns 20 BTC and B owns 100 ETH. A and B agree to swap their tokens so that A owns 100 ETH and B owns 20 BTC. However, they cannot perform this transaction as both BTC and ETH live on different blockchains. The only way to perform this transaction is by both A and B having an account on bitcoin and ethereum. Then, A transfers his 20 BTC from his bitcoin account to B’s bitcoin account, and B transfers his 100 ETH from his ethereum account to A’s ethereum account.

This kind of transaction is vulnerable to a multitude of problems. The first one is security. One of them may decide to not send their token to the other as both transactions are done on separate chains.  Secondly, the transaction time or the block finality time is different for a different chain. Therefore, for the former case, even when 100 ETH from B has been confirmed to have successfully transferred to A’s ethereum account, the 20 BTC from A to B will need a longer time to be validated, thus B will always be in the shorter end of the transaction if it failed. Thirdly, the transaction above is only specific to tokens, however, there are cases where data are needed to be transferred in between different chains. Though, such a transaction is impossible to be done between different chains.

Blockchain Communication
Communication between Bitcoin and Ethereum network is difficult

Scalability

Scalability is one of the blockchain trilemmas that Vitalik Buterin, founder of Ethereum has mentioned. Many of the early blockchains face a bottleneck issue or high gas fees for mining new blocks. This is due to the limitation of the transaction per second, or the transaction throughput that can only handle below 20 transactions per second. This limitation can be attributed to the ‘one-for-all’ blockchain where the blockchains handle all types of transactions such as payment, exchanging tokens & data, governance, and trading. As all these transactions are done on a single blockchain, at some point, there will be congestions. Having interoperability between chains can relieve this congestion as we will see below.

Sovereignty

Some blockchain applications run their program on top of the main blockchain. This is prominent in smart contract blockchains such as Ethereum and Solana. Usually, these blockchain applications have their own governance system or community-powered decentralised autonomous organisation (DAO). The protocols, features, and future planning of these applications are managed and governed by the governance of the application.

However, the governing system of these applications does not have full autonomy and sovereignty over their applications. They still rely upon the main blockchain that they are built on. Thus, any protocol changes or restrictions done on the main blockchain will be imposed upon the blockchain applications on top of it. This limits the power that blockchain applications have. To restore sovereignty to blockchain applications, there needs to be some separation of governance, and blockchain applications should run independently from any other influences.

Interoperability as a solution

Having interoperability between different blockchains provides a solution for the aforementioned problems. If blockchains are able to communicate directly, transfer data and tokens with each other, the communication problem can be solved indefinitely.

Having seamless interoperability can solve the scalability problem. This is done through specialised chains communicating with one another. As an example, we have governance, payment, data exchange, and gaming, all existing in their blockchains, but are interoperable with one another. As each execution is done on their respective chains, congestion will be reduced significantly. In addition, interoperability enables horizontal scaling which can theoretically provide unlimited scalability.

The sovereignty problem is a tricky challenge. Smart contracts usually have their main blockchains that they run on. However, certain interoperable projects enable blockchain applications to be independent of the main blockchains, therefore providing sovereignty to the applications. This is done by having the applications execute their smart contracts according to their need, and only relay across to the main chain when the need to communicate with other chains arise. The only problem that may disrupt this is if the applications rely too much on other blockchains, and the relay chain failed to do its job.

Smart Contract
All-in-one Smart Contract: Smart Contract sometimes stores everything

Interoperability projects

Many efforts have been made towards introducing interoperability between chains. These efforts have been translated into working projects such as Polkadot and Cosmos. Both of these have successfully provided interoperability for many blockchain applications. There is another approach, such as oracles, which focuses on communicating data between different chains such as Chainlink, and DAO projects.