Interoperability: can competing blockchains work together?
Blockchain interoperability is a big issue that needs to be tackled urgently. One common description of blockchain development is that it’s at the same point that the web was in the mid-late nineties. Everyone has a new technology and application to share, there’s a flurry of investment, and large companies are waking up to what the technology can do. But the comparison ends there.
There’s a big difference between blockchain in 2018 and the web in 1995: unity. The web relied on standard technologies, such as HTTP and HTML, which were guided by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C). That meant that from early on in the web’s life, all computers using it could reach each other seamlessly. Interoperability was a core design feature.
This is not so with blockchains, which are far more siloed. Standards bodies have been slow to address the problem, which is why it has been difficult to get Ethereum to talk to EOS and for EOS to talk to Bitcoin. As these blockchains proliferate, with public and private versions, and as their technology stacks deepen and become more complex, we have to get ahead of this problem.
You could ask: “Why bother?” But consider Metcalfe’s law, created by Bob Metcalfe, the father of Ethernet. This law celebrated the network effect, arguing that the effect of a telecommunications network is proportional to the square of the number of connected users of the system. In other words, the value of the network increases exponentially with the number of users.
So, would you rather have a collection of walled-off blockchains that couldn’t talk to each other, or a forest of interconnected blockchains, forming one vast network of independent networks that can communicate seamlessly with each other?
The latter correlates closely with the structure of the internet, which has been pretty successful. To put it another way, without interoperability how will the medical smart contract on my Ethereum network talk to your health insurance payment provider contract based on EOS?
The Blockchain Interoperability Alliance
There are several initiatives to solve the blockchain interoperability problem, each taking a slightly different approach. One of them is the Blockchain Interoperability Alliance (BIA). It was founded in late November 2017 to research protocols and architectures that will allow chains to communicate with each other. It has three members: Aion, ICON, and Wanchain.
Aion, built by Toronto-based company Nuco, is a blockchain platform for decentralized applications, and hopes to become a common protocol for multiple blockchains in a federated network. The company describes a ‘multi-tier hub and spoke model’ that it likens to the structure of the internet. In its vision, applications can bridge different blockchains by passing messages between chains.
South Korea-based ICON is creating its own community of blockchains based on its loopchain technology that can then connect to each other via portals using its Blockchain Transmission Protocol (BTP). This creates what the company calls the ICON Republic.
Participants in any supporting blockchain can exchange ICX tokens using ICONex decentralized exchange wallets. Users can send these tokens via their wallets between blockchains to support different applications.
ICON has used its loopchain technology to build out blockchains for several communities, such as the Korea Financial Investment Blockchain Consortium. It has also piloted the technology with insurance customers and has created a cryptocurrency for students at Korean universities. Other loopchain-based projects include a consortium blockchain for the healthcare sector.
Founded by Jack Lu, the technical co-founder of Factom, the third member of the BIA is Wanchain. This is a fork of Ethereum with a focus on privacy, using the same ring signature and one-time account concepts as Monero. It aspires to be a distributed financial market, enabling people to offer financial services across a range of interconnected blockchains.
By forming the BIA, these three companies hope to create a whole that is more than the sum of its parts, establishing common standards for communicating between chains and building common communities. It would be nice to see seamless communications between their blockchains of blockchains, and to have others join too.
Another initiative to create interoperable chains is the Interchain Foundation. Its first project is Cosmos, built atop the Tendermint consensus engine. It is a network of independent blockchains called zones running side-by-side, using Tendermint’s Byzantine Fault Tolerance consensus mechanism.
The unifying element here is the Cosmos Hub, a permissionless blockchain that binds the zones together. It enables them to pass tokens back and forth directly with each other using the inter-blockchain communication (IBC) protocol. This keeps a tally of the total records in each zone.
ARK uses a modified version of the Delegated Proof of Stake consensus mechanism popularised by EOS, although it has 51 delegates. It uses a technology called SmartBridge, which aims to unite any blockchain with others in the ARK network.
To connect with ARK, a blockchain must insert a small code snippet into its core code. That enables nodes on the blockchain to listen to messages from the ARK blockchain itself, or other blockchains that are compatible with SmartBridge.
The system also uses encoded listener nodes to listen for transactions on SmartBridge and perform tasks to help blockchains collaborate. These tasks could be as simple as passing data along, or could involve converting cryptocurrency.
Block Collider ‘weaves’ chains by taking the most recently-mined block for each bridged chain and referencing them as it mines its own blocks. This approach makes it possible for smart contracts on chains like Ethereum, NEO or Waves to accept user transactions from other chains, the team says. The result? More liquidity for all of the blockchains that it supports.
Blocknet calls out what it sees as shortcomings in other approaches to blockchain interoperability. For example, it criticizes Aion for what it sees as a walled garden approach that communicates only between instances of a custom blockchain. It also rails against the use of proprietary code in wallets or smart contracts that limit interoperability to only those wallets, and against the use of a centralized intermediary (such as using bitcoin’s network to support a range of different sidechains).
Instead, it uses three core components in its architecture: an interchain network overlay called XBridge, a blockchain router called XName, and its XChat P2P data transfer mechanism. XBridge Is a P2P network, running on a network of machines and enabling nodes on any blockchain to locate each other and communicate.
The XName router supports an interchain address system that enables different blockchain’s nodes to route messages between each other across the overlay. Finally, XChat is the messaging module that actually sends communications between blockchain nodes on an end-to-end encrypted basis.
This code runs on all participating nodes in its blockchain, which also run full nodes for other blockchains that the Blockthat supports. In this way, it can support decentralized applications across multiple chains.
Polkadot connects two kinds of blockchain. The first are completely independent chains such as bitcoin and Ethereum, which will connect to Polkadot’s blockchain via a bridge. The second are data structures that conform to Polkadot’s own consensus system. These are known as ‘parachains’, and while they will mainly consist of blockchains, they can also include other non-blockchain systems as long as they meet Polkadot’s validation rules.
Parachains can operate independently of the main Polkadot relay chain. However, they can use the relay chain to send it each other messages. That creates some interesting features, including the ability to process each others’ transactions, spreading the workload for heavily-used chains.
The genesis block for Polkadot should go live in Q3 2019.
A work in progress
Blockchain interoperability is still a work in progress, and the very existence of so many projects tackling the problem tells us that we’ve a long way to go. As these efforts mature we can only hope that there will be more ways for blockchains to play nicely with each other, and to increase the value of the blockchain industry as a whole.