I am frequently asked about blockchain interoperability by my executives, clients, industry colleagues, press and analysts. My response has been pretty consistent: It depends on what you mean by interoperability, and what use case you have in mind.
Technology consumers are interested in interoperability because they don’t want to be locked into a specific vendor offering. They would like freedom of choice and the ability to change providers down the road. In the context of blockchain, because we are still in the early stages of enterprise blockchain development, consumers don’t want to be locked into a particular technology — but that in itself presents its own set of challenges.
Because of the decentralized nature of the technology itself, there is also a desire on the part of consumers to choose where they will run their nodes; whether on premises or in the cloud.
Then, there is the aspect that for enterprise blockchain there are a multitude of platforms from which to choose: The Linux Foundation’sHyperledger Fabric, Hyperledger Sawtooth, Stellar, Ripple, R3 Corda, and the various Ethereum offerings such as Axoni, JPMC’s Quorum and the soon to be released Pantheon from PegaSys. When people speak of interoperability, are they anticipating a day when all of these platforms interoperate with one another in some pan-galactic seamless blockchain? Do we need or even want that? Often, I fear that this is what people mean when they ask about interoperability.
You keep using that word
Now, I think that what they really mean in this case is not interoperability, but integration. Can a chaincode in Hyperledger Fabric call out to post a transaction on another blockchain, such as Ethereum or Bitcoin? Of course. Now, do we need something like the Interledger Protocol (ILP) crypto-graphic conditions to ensure that they either both happen or neither? Yes, but this is not necessarily interoperability in my book, it is a connector that presumes that the artifact being exchanged is the same on either side (a payment).
To achieve true inter-platform interoperability the likes of which I suspect some seek, would require developing the “one API/protocol to rule them all” and getting every platform to adopt that, consistently. Even if we could, it would be years in the making. There be dragons.
There is no panacea for blockchain interoperability. No silver bullet. No knight in shining armor will come riding in on a white steed brandishing Satoshi’s samurai sword to slay the dragon of cross-platform blockchain interoperability.
Let’s take a step back to see what we might reasonably accomplish in the coming months.
We often say that “blockchain is a team sport” involving multiple parties collaborating in a common consortia network. The thought that each party in a large consortia involving thousands of participants would engage exclusively with a single vendor is also rather quaint.
The reality is that most consumers have already chosen cloud (or blockchain platform) providers and they likely have little desire to take on yet another just for one application. Thus, there is a need to ensure that there be interoperability amongst a set of platform offerings from different (or even the same) provider. For example, can we network Hyperledger Fabric peers provided by IBM, Azure, AWS and Oracle into a common consortia network? Shh… don’t tell anyone, but the answer is “yes”.
One flavor of interoperability that we can deliver near term is interoperability of vendor offerings based on the same open source implementation. Let’s consider Hyperledger Fabric – something to which I can easily relate. There are a number of vendors and start-ups building on the Hyperledger Fabric platform: IBM, Azure, AWS, Oracle and many more. Presently, there are no fewer than 72 vendors in the Hyperledger Vendor Directory claiming offerings based on Hyperledger Fabric! If these leverage the open source released software directly, do not modify, augment or obscure the native APIs, allow the open source SDKs to be used unaltered, then interoperability is definitely within reach. Is interoperability guaranteed? Not necessarily.
While we have taken pains to enable the platform to operate with components sourced from different versions (forward and backwards compatibility), there are certain circumstances where a component from an earlier version of the platform will be incompatible with a network or channel that is leveraging a feature from a subsequent version. Context matters, in this case. This is a manageable situation, as we have also designed Hyperledger Fabric such that it can be upgraded easily from one version to the next.
Further, Hyperledger Fabric is highly configurable (by design) and to ensure interoperability between offerings from different vendors, there are some configuration options that might yield incompatibilities that compromise interoperability. So, what do we need to address this?
It doesn’t really take a miracle, but we might define a profile of configuration with the intention of ensuring that offerings of Hyperledger Fabric configured in accordance with that profile would be guaranteed to be interoperable. This would allow peers in one vendor’s offering to connect to a channel hosted by an ordering service running in another vendor’s offering (and vice-versa).
This is an idea I could get behind. Who’s with me?
Blockchain technology is applicable to a wide range of industries, and the numerous use cases for it continue to grow by the day. The reasons for why companies, and even governments, are turning to blockchain for everyday business operations are many: faster transaction processing times, the elimination of a middle man, and others. For the […]
Web 3.0 is the collection of next gen web applications which use emerging technologies such as blockchain, AI, IoT, augmented and virtual reality (AR/VR) as part of their core technology stack. These emerging technologies will shape the interactions users will have in this next generation of the web. The internet took us from zero to […]
To understand what blockchain means to the justice and public safety sectors, we first have to lay the basic foundations for what a blockchain is. An easy way to understand blockchain is to think of it as a group text message. Much like in a group text message, blockchain is a distributed, time-stamped, tamper-resistant, record […]