Making permissioned blockchains interoperable with Weaver
Share this post:
Distributed ledger technology (DLT) has gone beyond its experimental phase and is now actively managing several enterprise workflows around the world in areas like trade logistics, export finance, inter-bank payments, and regulatory compliance. But this has not led to convergence, either to a default technology stack or to a single global network that everyone runs applications on.
Permissioned networks of limited scope and guarded memberships are here to stay as they offer privacy, auditability, and performance, which open platforms like the Ethereum Mainnet cannot offer. DLTs of different flavors — prominently The Linux Foundation’s Hyperledger Fabric, Corda, and Ethereum adaptations — are also here to stay because each offers a unique set of capabilities that emerge from their designs, and minimum viable ecosystem (MVE) networks of proven value have been built on each of these flavors.
This has resulted in a fragmentation of the blockchain ecosystem, with independent networks running on different DLT stacks managing processes of limited scope and creating data and asset silos. This situation severely undermines the value proposition of blockchain as the processes and assets that are artificially segregated in the blockchain world are interdependent in the real world.
Register now for this on-demand webinar
One way to maximize network effects of individual blockchain networks without forcing them to merge is enabling interoperability in a decentralized and secure manner without relying on trusted authorities. This is the mission of the Hyperledger Weaver lab. Before looking at its internals, let’s look at some examples that will illustrate why interoperability is so crucial to the success of enterprise blockchain.
Why enterprises need DLT interoperability
International trade is a complex beast with no central coordinator or law-enforcing authority. Various processes have been created and refined ad hoc over centuries by merchants, financiers, and regulators, to manage supply chain logistics and cross-border financing, ensuring that parties can hedge their risks, mitigate fraud, and comply with shipping guidelines that vary with locale. Still, these processes tended to be cumbersome, expensive, and time-consuming. Therefore, the emergence of permissioned blockchain and DLT was recognized by traders, financiers, and regulators for its immense potential to improve efficiency while simultaneously reducing risk.
Several networks have been launched to handle portions of the trade ecosystem, such as TradeLens (built on Hyperledger Fabric) for trade logistics, IBM Food Trust (built on Hyperledger Fabric) for food tracking, and we.trade (built on Hyperledger Fabric) and Marco Polo (built on R3 Corda) for trade finance, as well as others for cross-border payments and KYC. No single instance of international trade can be completed without the involvement of several of these networks, yet today they remain disconnected from each other, potentially relying on insecure custom mechanisms to link with each other.
Networking trade logistics to trade finance
Let us examine one such potential link, between a network that manages trade logistics to another that facilitates trade finance. The first runs smart contracts managing the logistics of exporting goods, from preparing a shipping consignment to dispatching it via a carrier and recording a bill of lading (B/L) for payment claiming purposes.
The second network runs smart contracts that facilitate the issuance and fulfillment of letters of credit (L/C). The purpose of an L/C is to assure a seller (and its bank) that payment will be made upon the production of documentary evidence, typically including a B/L, for the dispatch of agreed-upon goods. This arrangement allows the seller to risk parting with goods before getting paid as L/Cs are generally issued by reputed banks.
This trade finance network therefore depends on the seller (or exporter) supplying a bill of lading. But the seller has an incentive to supply a B/L as it stands to make money from the transaction, and a fraudulent seller may try to supply one without actually shipping any goods. The only way the trade finance network contracts and the buyer (or importer) can be assured that goods were shipped is if they can verify that the supplied B/L is the same one that was recorded on the trade logistics network’s ledger. Hence, one form of interoperability involves a network obtaining data from another’s ledger with proof of that data’s authenticity. We term this data sharing.
Networking components of financial services
Let’s look at a different example, one drawn from the areas of financial markets and digital currency. In traditional financial markets, parties trade assets such as securities and derivatives for cash or other assets. To reduce risk, various clearing and settlement processes and intermediaries are often involved.
One form of settlement is a DvP (delivery versus payment) where the transfer of securities is performed only in the event of a corresponding payment. This arrangement reduces principal risk by ensuring that both parties receive their end of the exchange. However, settlement in financial markets are slow and time consuming. As in the trade scenario, it involves counterparty risks and requires intermediaries.
Over the past few years, we have been seeing significant efforts in digitizing and tokenizing both currencies and securities on DLT infrastructures. We have seen concerted efforts around Central Bank Digital Currencies (CBDC) being added to the landscape of other blockchain-based payment networks. Against this backdrop, several central banks have been exploring the potential of performing DvP settlement across a currency ledger (let’s call it the Central Bank Digital Currency Network, or CBDCN) and a securities ledger (Financial Securities Network, or FSN). Consider then, a scenario involving two networks, one maintaining a currency ledger and another a securities ledger, both based on different DLT protocol stacks, performing a coordinated transfer of assets (DvP) in their respective ledgers.
To effect the settlement of an exchange between Commercial Banks A and B, the following two transactions will have to happen atomically across both networks: transfer of payment from Bank B’s currency account in CBDCN to Bank A, and the entitlements of the designated securities are transferred from Bank A to Bank B in FSN. This is an example of another form of interoperability, one which we term asset exchange.
A third form of interoperability is asset transfer, where an asset must be moved from one network’s ledger to another network’s ledger. As an example, think of two CBDC networks maintaining accounts for distinct clientele, and some amount of currency must be transferred from Bank A’s account in one network to Bank B’s account in another. Asset transfers are like asset exchanges in their need for atomic transactions across two networks — the destruction of an asset on one ledger must occur simultaneously with its recreation in another; either both happen or neither does. But asset transfers raise additional issues of asset integrity because they involve destruction and recreation, unlike exchanges which simply involve change in ownership.
Using Weaver to link business networks
What these examples and abstractions emerging from them illustrate is that enterprise blockchain and DLT networks offer very limited use if they remain isolated from each other. Trusted and decentralized interoperability among independent blockchain networks is critical to realize the full potential of the technology while allowing the ease and flexibility of building valuable networks with minimum viable ecosystems. We envision a world of blockchain networks that have the ability to interconnect with each other, on demand, just like TCP/IP-enabled inter-networking among computers two generation back. However, interoperability is not a straightforward task like API integration across enterprise domains. It has to tackle challenges arising from the need to link private networks that have no common controlling authority.
Here is where the Weaver code comes in. Incubated in IBM Research, Weaver’s mission is to link processes and enable seamless but controlled flow of assets and data across DLT network boundaries. Weaver seeks to achieve this while maintaining the autonomy of the networks and the ledgers within and avoiding dependencies on trusted intermediaries.
Weaver is a general-purpose interoperability framework that provides a common set of capabilities for trustworthy information communication across ledgers, whether they belong to the same network or different networks running on different DLT stacks. Among the key principles that guide Weaver’s design are accommodating DLT heterogeneity without requiring changes to existing DLT protocols, relying on common standards for communication but not requiring trusted intermediaries or third party infrastructure, and relying on networks’ native consensus mechanisms to finalize cross-network interactions.
For overviews of how Weaver works, do check out our project repository and the official documentation. Also check out the RFCs for detailed specifications and the Getting Started guide to setup a test instance of Weaver and experiment with different interoperation scenarios.
The road ahead for interoperability
Weaver presently offers a capability (or protocol) for data sharing with authenticity proofs among networks built on Hyperledger Fabric and Corda. It also offers an asset exchange capability using the well-known Hashed Time Lock Contract (HTLC) pattern for Fabric, with work actively underway to extend support for Hyperledger Besu. Further, we are adding support for decentralized identity management among networks, which several protocols in the Weaver suite will need, based on written specifications and experimentation conducted in the recent past.
We have written articles and published research papers describing our work and our vision. The project was open-sourced to the Hyperledger Labs earlier this year because we believe that projects like these must help the blockchain (or DLT) community converge to universal open standards, which requires collaboration. With community help, we hope to rapidly expand Weaver’s DLT portfolio and protocol suite.
For more information on our Hyperledger code contributions, register now to see our on-demand webinar.
Blockchain applications across industries
See how blockchain is transforming food safety, sustainability and more in this innovative web series.
Learn about IBM Blockchain Platform