At a recent Tokyo Corda conference, R3’s CTO Richard Brown warned about creating a series of blockchains which can’t easily interoperate. Organisations which are more advanced in their blockchain developments appreciate this point and are trying to integrate different blockchain flavors. But that’s not what Brown was talking about.
Consider a single industry. In the insurance industry, the most basic blockchain is for insurance policies. Each company has their policies on their own node and grants permissions for some parties to access them. There may be a separate blockchain for claims which needs to interoperate with the policy blockchain.
RiskBlock, the insurance industry alliance, is implementing a network that aims to integrate these kinds of separate blockchains in a modular way. But to be able to combine multiple potential flavors (Ethereum, Hyperledger Fabric, R3 Corda), they’ve had to create an additional blockchain layer that translates between them.
The insurance sector is an excellent example of the need for cross-industry interoperability. For Health insurance, there’s the need to coordinate with the health sector for permissioned access to medical records. For car insurance, it’s necessary to integrate with repair companies. And so on for each type of insurance.
The problem and solution
For a minute, forget the need to interoperate between Ethereum, Fabric or R3. If you’re involved with two projects using the same protocol, how do you integrate those? This is the problem that R3’s Brown is referring to. He believes many blockchain projects are creating silos including where the same industry players are working on multiple blockchains using the same protocol.
The solution is to create a seamless network of blockchains using the same technology.
Brown believes it needs three technical features and one process.
Firstly some technical standards. These include a set of network parameters which are set on a node to allow it to talk to somebody else’s node.
For a node in one blockchain to find a node in another blockchain, they have to know who they’re talking to. So R3 is planning to roll out a shared identity framework in the form of an optional shared certificate authority. The details haven’t been released and deserve considerable scrutiny.
The next thing that’s needed is consensus pools. In most permissioned blockchains only the parties involved in a particular transaction need to agree. If you start to integrate multiple blockchains that will be more complex.
Finally, there’s the issue of managing governance across blockchains.
So these cross blockchain integrations will not be easy, and there will be some risks, but the benefits could be enormous.
Even though Brown spent most of his career at IBM, he didn’t pull any punches when it came to Hyperledger Fabric. “We’re seeing lots of separate business networks being deployed. So a Fabric Network here and another Fabric Network here. But they’re not designed to interoperate. So it’s almost like the wrong vision because we have disconnected networks. We have disconnected applications because the underlying architecture was not the right one for business.”
At a pragmatic level, vendors are often trying to get their foot in the door, get as many clients signed up as possible. That’s a short-term vision. Interoperability is a medium to long-term one. But Brown is correct that you need to have that in your plan from day one.
Another part of the problem is how permissions work in Hyperledger Fabric versus R3 Corda. Corda sets permissions more granularly at the transaction level which provides flexibility.
Fabric uses channels for permissions. A channel is the equivalent of a relationship. Everyone in the relationship sees what they’re allowed to see for all events, there are no one-off events or secrets, and when you join the relationship, you get to know all the history.
In fairness, that channel/relationship design can work fine for some applications. But for others it’s problematic. If you extend the model to cross-network interoperability, it gets even harder. Though in Fabric 1.1 there’s an attempt to address the issue by creating subchannels.
The vision of interoperability across blockchains is an important one. It’s something to consider at the start of any project. While Brown maybe be focused on intra-Corda operability, rightly so, industry players want to hedge their bets. So their priority is likely to stay on cross-protocol interoperability.