Introducing Hyperledger Cacti, a multi-faceted pluggable interoperability framework
In a Hyperledger first, the community has merged two systems (architectures as well as code bases) to create a new project. Hyperledger Cacti is a multi-faceted interoperability platform that draws on the cutting-edge technical features of Hyperledger Cactus and Weaver, a Hyperledger Lab, and provides a clear path forward for users of both technologies.
Hyperledger Cacti is a pluggable interoperability framework to link networks built on heterogeneous distributed ledger and blockchain technologies and to run transactions spanning multiple networks. Cacti was motivated by the observation that the blockchain/DLT ecosystem is fragmented into several independent networks built on a diverse set of DLTs, many of which are permissioned, but which cannot afford to remain isolated from each other, limiting the scale and utility of their business processes (smart contracts and “dapps”) and trapping their assets in silos.
Consider a trade logistics network (like TradeLens) that maintains bills of lading for shipments on its ledger. These bills are necessary to fulfill letters of credits’ payment obligations on a trade finance network (like Marco Polo), but without an institutionalized mechanism to share a bill of lading with proof of authenticity between the two networks, the trade finance network will have to depend on untrustworthy shippers, who are incentivized to supply fake bills in order to get payment. In another scenario that is increasingly common and salient in the DeFi world, financial instruments and currency accounts (e.g., Central Bank DIgital Currency, or CBDC) are maintained on different ledgers. But this state-of-affairs will inhibit trading, and limit the utility of these networks as well as the DLTs they are built on, unless mechanisms to atomically exchange, say, a security on one network for digital currency tokens on another, are institutionalized.
Extrapolating from these examples and others that are commonly encountered by enterprises and business consortia, we can identify the need for networks to interoperate for the purposes of sharing ledger state, moving assets across network boundaries, and exchanging assets atomically. But, because there are cogent privacy, autonomy, and performance reasons for a large number of such networks to co-exist, such interoperability must be enabled without forcing them all to coalesce into a single global chain or subscribe to a single global settlement chain.
Hyperledger Cacti provides an interoperability solution that does not require the networks’ respective chains to coalesce into one “chain to rule them all.” It also does not require the creation of yet another settlement chain and consensus protocol to which existing networks must subscribe. Instead, Cacti allows networks to preserve autonomy of decision-making while conducting cross-network transactions on a need basis. In effect, Hyperledger Cacti scales decentralized trust above and beyond the confines of a single network without requiring networks to merge or integrate, in effect enabling a network-of-networks, as illustrated in the figure below using samples of DLT networks and cross-chain operations.
A core design tenet of Hyperledger Cacti is that it does not require modification to any existing DLT stack, and operates purely at the contract- and-application layers (or Layer 2). This allows Cacti to be used not only for networks built on existing DLTs but potentially for DLTs that have yet to emerge. The initial release of Hyperledger Cacti will provide interoperability and connectivity features to varying extents for the following nine DLTs. (Interoperability support for other DLTs will be added to the future roadmap of the project.)
- Hyperledger Besu
- Hyperledger Fabric
- Hyperledger Indy
- Hyperledger Iroha
- Hyperledger Sawtooth
- R3 Corda
The Cacti architecture builds on the pre-existing architecture of both Hyperledger Cactus and the Weaver Labs frameworks, merging components having similar or identical functionality and aggregating distinct components to offer several features that span a wide spectrum of trust and usability. The Cacti plugin architecture will enable the coexistence and maintenance of different feature/protocol implementations which can be selectively activated on demand with minimum configuration overhead. Users can customize the level of decentralization they require using a combination of the Node Server inherited from Cactus and a pluggable network-centric relay (or gateway) inherited from Weaver. The figure below illustrates how distributed applications running on distinct ledgers can trigger cross-network transactions either from a centralized Node Server or in a peer-to-peer manner using relays. The applications can be deployed in a standalone legacy manner or be “plugged into” the Node Server; developers and administrators may choose the option that fits their requirements better. All cross-relay communication protocols implemented in Cacti will be DLT-agnostic and comply with emerging standards.
Core interoperability features of proof validation and lock management can be performed using either designated validator pools or with smart contracts and DApps installed in the core networks themselves; users may select these options depending on the level of trust they require and correspondingly, the level of administrative overhead they are willing to accept. Cacti will offer these features and the ability to select and activate them through a common (and comprehensive) client SDK and API. To provide a foundation for interoperability across heterogeneous DLTs, Cacti will maintain a pool of DLT- and version-specific connectors or drivers that will act as entry points for operations in a given ledger that must occur in the context of a multi-ledger transaction.
To learn more, join us Monday, November 14, from 11am-2pm EST for the “Blockchain Interoperability with Hyperledger Cacti” hands-on workshop. To register, go here.
To get involved in the Hyperledger Cacti community, connect with us on Discord. All are welcome!