With the growing need for trust and transparency in information sharing, blockchain is emerging as the technology of choice. The ability to define contracts containing rules for transactions across parties and a mechanism to trace the transactions has helped implementation of blockchain use cases across industries. Some of the popular use cases for blockchain in the enterprise are tracking of goods, patient record management, insurance claims processing and supply chain management.
Supply chain management is an area that cuts across industries and where blockchain can help in implementing and managing transactions. Let us look at this in detail.
Goods are transported across organizations. There are multiple stakeholders involved in this. Apart from the organizations, there are the logistics providers, the government authorities such as the customs, the highway toll agents, and other agencies to fulfill the orders. A registry contains the list of goods to be transported along with their recipients. The movement of goods, invoices of payments made to government agencies etc are recorded as transactions. The transactions help to trace and validate each of them and help identify the disputes. The integration between these stakeholders can be achieved using services and APIs, listed and managed by an API gateway and an integration services layer along with IoT and blockchain technologies.
The key component of a blockchain is the distributed ledger that is shared among the participants. The ledger keeps track of the transactions. Cryptographic techniques are used to make the ledger immutable. Blockchain implementations can be used as data integration platforms. The data can be shared between applications as transactions through APIs. These APIs can be invoked by enterprise applications, devices, sensors or other channels to send/receive data.
Realizing the value of blockchain requires integration
Integration is one of the key architectural building blocks for any blockchain implementation. Without strategic and robust integration planning and implementation, the blockchain solution may not be successful. As seen in the use case above, integration is required with external trading partners, government organizations (B2B) and internal applications such as ERP and CRM applications with blockchain applications to complete the implementation. Broadly, the following categories of integration are required in an enterprise landscape:
- Integration of enterprise applications with blockchain applications
- Blockchain to blockchain integration
- Blockchain to sidechain integration
Integration of enterprise applications with blockchain applications
A blockchain application will have to interact with enterprise applications while executing smart contracts. To execute the logic in a smart contract, some data might be required from existing enterprise applications. Events triggered in a blockchain can also necessitate data retrieval from enterprise applications. To get the data, the blockchain application can invoke an API exposed by the enterprise application or the enterprise applications can send data by invoking APIs exposed by the blockchain application. Some level of data transformation between enterprise application and blockchain application formats will be required. This can be addressed through an API gateway that handles transformation between common formats such as json, XML etc. There are platforms that provide integration between enterprise applications and blockchain applications.
Blockchain to blockchain integration
There might be a necessity of collaboration between multiple blockchains to accomplish the enterprise requirements, where one blockchain might be handling the financial transactions and the other, supply chain management. In numerous ways, we can make the blockchains to talk to each other, using standard protocols like HTTPs/API or specialized protocols, which include sender, connector and receiver components to enable communication between applications. There are other offerings that allow integration across blockchains using RESTful APIs that abstract the underlying complexity.
Blockchain to sidechain integration
Sidechains supplement the main blockchain for security, risk and performance reasons. To get the finest performance and usability in a blockchain implementation, one or many sidechains can be designed which can play a dual role - a) Work in silos b) Work as a slave considering blockchain as the master. Many of the processes can be offloaded from the master blockchain to the side chain to make the process more agile and faster. It helps to avoid redundancy across the blockchain ecosystem.
Key integration challenges in blockchain
- Integration with external applications might have to abide to regulations
- Integration with different blockchain platforms Securing data that goes out of the organization
- The implementation might demand for legacy integration with proprietary constrains like protocols, security, standards, etc
- Involvement of blockchain in IoT might introduce more integration points and challenges due to diversity of protocol, standards, volume and expected throughput
- Latency due to multiple stakeholders and applications
- Growing expectation for quality of services
How to mitigate the challenges