Blockchain Interoperability
Block #4: The search for the binding force
With numerous blockchain platforms coming up, all of them have some token or real-world asset that they associate value with. Although these chains are basically like “data-silos” or “data islands”. In the private and consortium chain space, the notion that there exist different chains for different industries and even different chains within the same industry is even less controversial and arguably universally understood as obvious. In such a world, one natural question that emerges is: how do these chains interoperate? Due to lack of communication or interactions between these chains, there is no way to translate the value of an asset inside one ecosystem with another. Let’s look at two such projects and the buzz around them:
Hyperledger is an open source collaborative effort created to advance cross-industry blockchain technologies. It is a global collaboration, hosted by The Linux Foundation, including leaders in finance, banking, IoT, supply chain, manufacturing, and technology.
The Ethereum Enterprise Alliance (EEA) as its name denotes, the alliance is built to customize ethereum for industry players. It aims to “define enterprise-grade software capable of handling the most complex, highly demanding applications at the speed of business.”
In October 2018, the Hyperledger and the Enterprise Ethereum Alliance joined each other’s organizations. This was a big step as it eliminates all the ‘vs’ debates that revolve around the two blockchain platforms. Apart from that, it was also a step towards improving the interoperability of existing blockchain platforms.
Interoperable blockchain architecture is a composition of distinguishable blockchain systems, each representing a distributed data ledger, where transaction execution may span multiple blockchain systems, and where data recorded in one blockchain is reachable and verifiable by another possibly foreign transaction in a semantically compatible manner.
Exploring possible solutions for interoperability, we at the Blockchain Research Lab at ASU looked into the Healthcare data sharing space. ‘MedFabric4Me’ is an application that enables selective data sharing for patients. The tool is built using:
MedFabric4Me leverages Nucypher’s decentralized encryption to share sensitive data securely. Nucypher provides a privacy layer for distributed systems and decentralized applications.
It runs on the Ethereum Blockchain. NuCypher Key Management System helps to secure data on the blockchain with decentralized proxy re-encryption as a service.
Let’s consider an example to illustrate how selective data can be shared using NuCypher:
- Alice has some sensitive data that she wants to store and share.
- Using NuCypher Proxy Re-encryption, she encrypts her data and uploads it to storage.
- Alice delegates access to Bob using a policy which is created using Bob’s public key.
- The data is rekeyed to Bob’s key. Now Bob can download and access the data with his private key.
To demonstrate the interoperability between public and private blockchain, we developed a system that shares data between Patient and Doctor on a need to know basis.
- The patient can upload their data and selectively decide which information to share.
- The information is shared via IPFS with a Proxy Re-encryption layer provided by Nucypher.
- To verify whether the information is trustable or not, we make use of a Merkle tree, which helps to ensure the correctness of information without actually sharing complete information about the Patient. every leaf node is labeled with the hash of a data block, and every non-leaf node is labeled with the cryptographic hash of the labels of its child nodes.
- Hash trees allow efficient and secure verification of the contents of large data structures.
Hyperledger Fabric played an important role in this, as Merkle Root Hash and IPFS Hash are saved on the fabric blockchain network and should only be accessed by those who are authorized. We also created an explorer using Hyperledger explorer to take a look at blocks created and transaction happening on the network.
A video describing the working of this application:
You can check out the application at:
http://40.117.34.253:8000/menu
If you like this article vote for MedFabric4Me win at the NuCypher + Coinist hackathon page:
https://coinlist.co/build/nucypher/projects/09e65208-0f40-4adc-9f0d-a6b891e41b6d
(Voting Ends 14th April 2019)
On a lighter note: