A big issue in software, technology and communications is interoperability. Interoperability refers to the ability for different systems to work with other systems. This allows users to choose different systems that they prefer, without restrictions on the ability to communicate with other technology that performs similar functions. This has become a big question for the blockchain arena since there are several competing platforms that haven’t been designed with interoperability with conventional systems in mind, and are therefore currently unable to share data with existing IT systems.

Interoperability: the basics

Whilst interoperability concerns whether data is compatible across different systems, it also concerns whether it is integratable and whether different systems can interconnect with one another. The main issue is how to connect systems which are able to read one another’s data and, for this, standards are usually employed. Interoperability implies shared standards which promote the creation of technologies that are compatible with other technologies. Interoperability actually facilitates and furthers the adoption of technology. When shared standards are put in place, it gives markets a certainty that this product is being adopted by others. Currently, blockchain platforms are being created without a single standard and without considering compatibility with IT legacy, especially in the enterprise world. This regards everything from the consensus models being implemented, to smart contract codes and how data is stored. With this in mind, the Insolar team has looked to create a platform that is interoperable with other conventional IT solutions, despite the technological differences. This brings about two advantages.

Network effects and scalability

Designing systems that are interoperable mean that a wider base of users can take advantage of the technology. This is because it prevents proprietary software lock-in, thereby increasing competition by reducing market entry barriers. Open standards via interoperability therefore encourages innovation and promotes market development for technologies. This, in turn, can lead to network effects since software architecture can become composable, whereby enterprises can choose which aspects of which software are the most suitable for the given solution and compile the architecture from different vendors accordingly.

Insolar understands that for blockchain adoption to become widespread, it needs to be able to scale to accommodate users of other blockchains and conventional systems. Such systems include cloud providers such as Microsoft Azure or Amazon Web Services, which have become extensively used computing services, or existing and widespread IT tools like enterprise resource planning software that is used to manage and automate different aspects of businesses. This will not only combat vendor lock-in and market dominance from more established tech firms, but will also foster the adoption of blockchain-based technologies from enterprises that may have previously been hesitant to invest heavily in a technology with a certain provider, only to find it redundant several months or years down the line. The basis for creating a blockchain that is interoperable with existing IT systems can be broken down into different facets. One is to account for the language and the data used in communication (apparently the easiest part) and the other takes into consideration the larger context in which communications occur to address the difference between blockchain and IT legacy (conventional) systems.

Communication: language and data

Communication boils down to how different parts of different systems interact with one another using common rules called protocols. This usually takes place via calls and messaging. In conventional tech and existing software, messaging is service-based. As such, interoperability is about how different tech can communicate and understand each other using different messaging systems. If we consider a set of computing hardware, there is a communications bus through which different parts of the computer (CPU, memory, etc.) communicate with each other. In a message bus for software, there is an architecture that allows different applications to communicate and work together, but which also allows the applications to be removed or others added, without the system crashing.

A good example of different protocols interacting can be seen in the way that the internet works. Four different protocols form part of the messaging interconnectivity between web servers and web clients: 1) application protocol, 2) transport protocol, 3) internet protocol, and 4) network access protocols. The protocol suite ensures the smooth exchange of information so that messages can be understood.

Data format, on the other hand, relates to how sets of information are collected and the informal rules which data owners ascribe to users. When you compile a spreadsheet, you set the parameters for each column and row, thereby setting the format. These rules are set arbitrarily by users for their specific needs and wishes and can vary from user to user for different data sets. In line with the spreadsheet example as highlighted above, one could name the access rules for the document, or the input language.

2. Communication: paradigms

While data format regards rules between users for the composition of the data, the paradigm concerns larger-scale rules. As such, this relates to the application of rules from the system at large to which data is sent. These rules dictate how interaction takes place and on what basis, i.e. how the validity of requests and responses is checked. For example, a paradigm in accounting could refer to the tax laws and methods for submission of tax returns that are set by a wider authority for all.

How interoperability works in Insolar

On the Insolar Blockchain Platform, calls are made to other contracts without knowledge of the inner workings of these other contracts. This means that it takes less effort than other blockchain platforms such as Ethereum, since full code isn’t stored with every change of data. On the Insolar Blockchain Platform, each contract is a black box to others with only relevant data shared, much like human thought and communication in which we share the information we want to share, yet keep our thoughts to ourselves.

Data can be shared with external conventional systems in two ways:

1) Two-way exchange

On Insolar, everything is a contract, meaning every aspect of the platform is a contract and they all communicate with one another to share relevant information/data. To be interoperable with conventional technologies external to the Insolar Blockchain Platform, a special smart contract can be created. This special contract works as usual with the Insolar platform, but provides an API for external parties to connect to. The contract interacts with outside systems and serves as a gateway which sends and receives messages to and from a certain set of nodes.

2) Observer system

The second way that conventional technology is interoperable with the Insolar Blockchain Platform is via unidirectional message receipt. In this case, the external system can’t see the blockchain network but can sign up to updates via a special server. As such, the conventional system observes certain updates to the blockchain platform and replicates the data fed to it by a certain smart contract. This certain smart contract on a specific network node is designated as observable. In this instance, the observer is not able to send data to the Insolar Blockchain Platform, instead only receiving unidirectional updates. The observer system is useful, for example, as a reserve database.

As is highlighted above, use of each mechanism depends on the interaction required with the blockchain network, meaning different approaches can be used depending on the use case. If the Insolar Blockchain Platform acts as a source of events that should be accounted for in a larger business process, without altering internal aspects of the process itself, then the observer system is ideal. Where Insolar actively participates in said business process, then an active, bi-directional pattern is a must. In this case, use of an oracle-like API means data cannot only be read externally, but also created externally and written to the blockchain.

At Insolar, we have designed our blockchain platform with interoperability in mind from the ground up as a primary and fundamental aspect. We understand that for adoption of blockchain to become widespread, data and business contexts will have to be exchanged with existing systems, and, for this to take place, there needs to be a common approach by which the data can be shared between blockchain platforms and centralized databases using a set of standards-based tools and mechanisms.

_______

Check our Github and leave feedback on the code.

Follow Insolar on social media: