How to Build an Interoperable Blockchain?

Cross-chain communication is an often sought out feature for promising Web3 projects. This is because Web3 interoperability allows otherwise separate blockchain applications to communicate freely with one another, which in turn increases usability and opens up many use cases. The actual process to obtain blockchain interoperability is however complicated and not so straightforward.

By Tony Morinello

12 Aug 2022

InteroperableBlockchain.jpeg

In this article, we will first explore some of the processes used to create a stand-alone blockchain. Then, we will explain what interoperability is and various possible solutions to incorporate it into projects. Finally, we’ll discuss how you will be able to implement blockchain interoperability yourself by following tutorials that utilize the Lisk SDK.

Building a Blockchain – a Process

As we covered in our How to Build a Blockchain blog post, there is a lot of preparation that needs to happen before development should begin. This includes, among other things, identifying use cases, building a team, securing funds, and selecting which platform to build on.

While ideally the process of how to build a blockchain would be as simple as possible, it is inevitable that development will need to be handled by individuals or teams that have the necessary skills to build a promising Web3 app. Some of these skills, and how you may acquire them yourself, was covered in our Blockchain Development Tutorial - How to Get Started? blog post.

Blockchain in JavaScript

While there are a lot of skills required to build a blockchain, Lisk aims to make this as simple as possible. One way is to reduce the amount of new technical knowledge required to get started. This is done by allowing developers to create a blockchain in JavaScript, which is the most popular programming language in the world today.

For a general overview of blockchain in JavaScript, read our How to Create and Develop Blockchain Using JavaScript blog post. For a more indepth look at creating your own JavaScript blockchain, read our How to Build a Blockchain in JavaScript? blog post.

Web3 Interoperability - How it Works

Now that we’ve gone over general blockchain development, we are ready to discuss interoperability. First, we need to understand what it is exactly.

Blockchain interoperability is what allows separate blockchains to actively communicate with each other. There are various interoperability solutions that are utilized:

  • Cross-chain Token Exchanges are one of the simpler methods. These essentially allow trades to happen between 2 users through a 3rd party.
  • Cross-chain Token Transfers is another method. Unlike Cross-chain Token Exchanges, these do not require additional parties for exchanges to take place. Federated 2-way pegs are one of the more popular examples.
  • General cross-chain messages allow any kind of data to be transferred between chains. This makes them more flexible and powerful compared to the previously mentioned interoperability solutions. Lisk’s solution to interoperability utilizes general cross-chain messages, which you can read more about here.

For a much more in depth look at how Web3 interoperability works, read the Blockchain Interoperability – How Does It Work? blog post.

How to Make Blockchain Interoperable?

Blockchain interoperability has often been considered a holy grail within Web3, as having cross-chain communication offers many advantages. You may read about many of these solutions and their various implementations in the Introduction to Blockchain Interoperability blog post.

While the logic of how blockchain interoperability works can be both confusing and overwhelming, building a blockchain that is interoperable does not have to be. This is thanks to how easy the Lisk SDK can be used to create your own promising Web3 app on the Lisk network.

If you are interested in how Lisk will achieve blockchain interoperability when the platform launches, you can read our High-level Overview of Lisk Interoperability blog post.

Building an Interoperable Blockchain – Tutorial

Throughout the Lisk Documentation, there are several easy to follow tutorials to guide users in learning how to build a blockchain with Lisk. By following these tutorials you will not only gain valuable skills necessary for using the Lisk SDK, but will ultimately create your very own blockchain project. These skills will then allow you to build your own interoperable blockchain following the Lisk platform launch.

Hello World Tutorial

receive_newHello_event.png

The simplest of the tutorials listed here is the Hello World Tutorial. While this tutorial may lack some of the more interesting features seen in the other tutorials, users will find it to be a great starting point when diving into the Lisk SDK. Users will go through all the basics, such as:

  • Identifying system requirements and dependencies
  • Creating custom modules and plugins
  • Connecting a dashboard to a Web3 application
  • Creating Unit Tests

Lisk Name Service (LNS) Tutorial

ui-account2.png

Anytime you enter in a url to visit a website, you are utilizing the Domain Name System (DNS). DNS acts sort of like a phonebook for the internet, by connecting these web addresses to IP addresses. More recently, users have been able to utilize Web3 equivalents of this service, particularly the Ethereum Name Service (ENS).

Through the Lisk Name Service (LNS) Tutorial, users will be able to create a Lisk version of ENS. In the end, the project will allow users to register .lsk domain extensions from anywhere from 1 to 5 years. In addition, it will be possible for users to create TXT and CNAME records for each domain.

Non-fungible Token (NFT) Tutorial

purchase-nft.png

NFTs are becoming increasingly popular. In fact, many of those who currently aren’t familiar with Web3 have heard of NFTs, and may even have some basic knowledge of them. Therefore, the Lisk NFT Tutorial is a great way to learn to use the Lisk SDK while building a project with real world implications.

Once completed, users will have learned how to build a blockchain that not only supports NFTs, but several other features as well. This includes creating a custom module to add the ability to create and purchase NFTs, as well as a custom plugin to provide even more NFT-related features.

Social Recovery System (SRS) Tutorial

04-vouch2.png

Whether you are a Web3 newcomer or seasoned veteran, an ongoing concern may be losing access to your funds. While there are many advantages to the self custody nature of crypto, users bear more responsibility and consequences. Lost funds due to things like lost passphrases are an unfortunate reality for some.

The Social Recovery System (SRS) Tutorial will allow users to build a recovery tool for these lost accounts. This is done by having a user define recovery configurations, such as setting up a list of trusted friends. Users will then ask them to provide access to the funds of a lost account. If approved, access to the account can be regained.

By completing this tutorial, users will have utilized the Lisk SDK to create a blockchain application full of many custom parts. These include:

  • A module for the social account recovery system
  • A plugin to provide a list of all accounts with created recovery configuration
  • A plugin to provide additional HTTP API endpoints for creating and posting different transaction types
  • A frontend application to allow users to interact with the blockchain through the browser