My work on the Technical Deep Dive Workshop Content Creation for Hyperledger Cactus mentorship project was focused on delivering a three-hour long course in both English and Portuguese on the Hyperledger Cacti tool. This pluggable blockchain interoperability framework was recently merged from Hyperledger Cactus and Weaver, a Hyperledger Lab, and it enables a link between networks built on heterogeneous distributed ledgers. With its architecture, Cacti allows for a flexible and extensible development environment for DTL solutions.
Developing the workshop required a vast study of the background technology and the tool itself as well as how it connected to other projects of the Hyperledger ecosystem. I must thank my mentors, Peter Somogyvari and Rafael Belchior, for guiding me in my study of the technology and Cacti implementations. They were valuable resources for helping me construct content that will help the Hyperledger community to understand the Hyperledger Cacti tool better and more easily integrate it in their endeavors.
What did you learn or accomplish?
During my mentorship project, I had the opportunity to engage Hyperledger Cacti developers, allowing me to study and contribute to a highly organized and optimized repository. It taught me how work is done in a fast-paced, open source environment and how all the pieces are carefully thought through and put together. It was truly exciting to be working with cutting-edge technology in the blockchain industry and see the efforts being made by the Hyperledger community to assure that it is accessible and helpful in shaping the technologyโs future.
What comes next?
After this experience, I certainly hope to work with blockchain in my future career. Iโll take this experience in open source blockchain development and apply it to my masterโs degree thesis and personal projects. It will be a great contribution to the start of my career, both technical and community wise.
Mentors: Dhinakaran Vinayagamurthy, IBM Research Venkatraman Ramakrishna, IBM Research Krishnasuri Narayanam, IBM Research Sandeep Nishad, IBM Research
The aim of the Weaver lab (a Hyperledger lab this now part of Hyperledger Cacti) is to ensure smooth interoperability of assets between blockchain networks. During this mentorship, I had the pleasure of implementing different ERC asset standards interoperability for Weaver with the possibility to ensure future interoperability.
The three token standards are ERC-20, ERC-721 and ERC-1155. ERC-20 are the most common fungible token standard, while ERC-721 is standard for non-fungible token commonly known as NFT. ERC-1155 is a hybrid standard of ERC-20 and ERC-721. ERC-1155 acts like a token factory that allows you to create multiple tokens in a single smart contract.
There are three main components for weaver-interoperability for Hyperledger Besu.
Besu-SDK
Solidity contract
Besu-CLI
Protobuf implementation in interoperability contract:
In order to support protobuf, we decided to use the Solidity protobuf library. It is a library that can automatically generate encoder and decoder for serialized protobuf messages in Solidity. Then we ran into the issue that converting types is difficult for Solidity. In the end, we used assembly in Solidity to convert strings to address, etc. This is far from optimal, but we did it as a tradeoff between using more gas and interoperability.
Implementation of scalability in interoperability contract:
In order to ensure ease of implementation and future standard interoperability, an interface has been defined for which every standard has to extend it. This ensures the interoperability contracts can handle any future standard. The interoperability interface consists of two functions: approve and transfer. The interface uses the token contract as an intermediate to transfer assets between users and manage asset contracts. The motivation behind is to ensure compatibility with any asset type. In other words, the interoperability contract can handle any asset if they implement such an interface.
Other implementation:
Update in BESU-CLI and BESU-SDK and additionally testing for ERC20, ERC1155 and ERC721.
What did you learn or accomplish?
During this mentorship I have learned that there are many design tradeoffs such as the one we made in the implementation of the interoperability contract. While one protobuf message can adapt to different and future asset standards due to compatibility issues, three different types of protobuf messages are used. Moreover, I learned how to use protobuf as an exchange format.
What comes next?
There are things that could be refactored in the interoperability Solidity contract. For example, currently three different types of protobufs (Non Fungible, Fungible, Hybrid) are being used in the lockAsset function. Ideally, we could use a single type of protobuf for this purpose, but, in order to use this, we need to update protobuf in other types of blockchain such as Hyperledger Fabric and Corda. Additionally asset exchange tests between Corda, Hyperledger Besu and Hyperledger Fabric could be set up.
Study and develop chaincode and smart contracts following ERC standards.
Prototype a cross-chain bridge between Hyperledger Fabric and EVM-based blockchains. Hyperledger Technologies: Hyperledger Fabric, Hyperledger Besu, Hyperledger Cactus.
Mentors:
Imre Kocsis, assistant professor, Budapest University of Technology and Economics (BME), Budapest, Hungary.
Lรกszlรณ Gรถnczy, assistant professor, Budapest University of Technology and Economics (BME), Budapest, Hungary.
Impact yielded from work:
This work constitutes an add-on to the existing efforts to enable interoperability between permissioned networks. Moreover, we contribute to the community by developing a cross-chain bridge between Hyperledger Fabric and EVM-based blockchains using the Secure Asset Transfer Protocol (SATP), a protocol under standardization at the Internet Engineering Task Force (IETF).
What did you learn or accomplish?
Deliverables:
Create a report on blockchain interoperability solutions.
Implement a prototype of the designed cross-chain bridge solution in Hyperledger Cactus.
Develop an academic paper.
Issues overcome:
At the beginning there were a lot of unknowns: a new area, protocols, and new technology. After all, I am glad about the final product and all the lessons learned.
Lessons learned and advice:
The community is here to help. We had fruitful discussions with various members of the Hyperledger community, which proved to be valuable for the final project.
The best is always yet to come. Believe me when I say things will always be better than they are at the moment โ bugs appear, and sometimes we need to take a step back to take two steps forward.
Exciting technology:
Hyperledger Fabric was considered the most adopted enterprise blockchain solution.
Hyperledger Cactus provides the building blocks for interoperability.
The integration of Self-Sovereign Identity (SSI) with interoperability solutions seems to be the way forward to perform identity management.
What comes next?
The addition of SSI in our work seems a good next step as a way to remove some assumptions made in the solution design.
I envision to continue working and advancing the existing interoperability research. I aim to continue contributing to Hyperledger Cactus (now Hyperledger Cacti), the Hyperledger project directed toward interoperability.
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
Go-Ethereum
Quorum
Xdai
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!
The Hyperledger Challenge 2022ย took into careful consideration the following factors:ย
1. Technology advancement and research objectives 2. Impact to the blockchain ecosystem 3. Value addition through social benefits 4. Process followed to build an open-source community around the proposed project 5. Activities outside the Hyperledger community to build the ecosystem 6. Bring in innovation in the marketplace 7. Headway into the community that is not represented well within the ecosystem.
“The team would like to thank the Hyperledger Challenge 2022 team for supporting our project. These recent wins/awards provide our team with added momentum and validation for the solution we are developing and the larger problem we seek to solve. Moving forward our focus is on marketing our solution to the energy industry and helping to scale auditing services, crucial to achieving climate targets by mid century.ย ” – Bertrand Rioux, Director, Two Ravens Energy & Climate Consulting
This prototype, which is built using Hyperledger Besu, Hyperledger Fabric, Hyperledger Bevel and Hyperledger Cactus, represents an important step towards creating an open climate accounting system that can be used to decarbonize corporate supply chains. By building a solution that can provide a free flow of trusted environmental data, we can create a more efficient marketplace that can unlock the power of green finance, consumer demand and government regulation to work together to decarbonize corporate supply chains.ย `
Click the CA2SIG One-Pager to learn more. We also invite you to visit the Climate Action and Accounting Wiki or join one of our bi-monthly meetings to learn about the different opportunities to get involved!
Want to jump start a career in blockchain development? Ready to build hands-on skills developing leading-edge open source technologies? Looking to work directly with mentors who are invested in you and your work? Then the Hyperledger Mentorship Program is for you.
Now in its sixth year, the Hyperledger Mentorship Program provides a structured and guided learning opportunity for anyone, at any career stage, looking to get started in the open source movement. With full and part time options, fully remote work and a stipend, the projects are designed to be a pathway to becoming a contributor to the Hyperledger community that work for students, people in career transition and anyone else who wants to develop or sharpen their knowledge of cutting-edge blockchain technologies. Applications are now open.
This year, the Hyperledger Mentorship Program has grown to 30 planned part and full-time projects covering a range of technologies, challenges and technical difficulty levels and includes non-development projects such as Ecosystem Analysis and Developer Marketing. Each project is designed and proposed by active members of the Hyperledger community. Those who propose the projects serve as the mentors and work closely with their mentees on developing a project plan, setting milestones and solving problems. Mentees can expect regular evaluations and feedback. For more about the program, including the schedule and stipend details, go here.
Over the last five years, more than 70 mentees have completed Hyperledger Mentorship projects. Each of these mentees have made concrete contributions to Hyperledger projects and built important connections in the community. Some, like Bertrand Rioux, have gone on to become mentors themselves:
“I was accepted into the Hyperledger mentorship program last year after seeking a community to help advance my professional goals of developing software for climate action. I was fortunate to find a diverse group of mentors that helped me build the knowledge and skills I needed to effectively contribute to the Hyperledger open source community and to have the opportunity to develop technical expertise in a field I was actively working in. In addition to delivering a secure identity management solution for a Hyperledger Fabric Network, I started contributing my own ideas to the open source operating system for climate action. As a result, I am now taking a leadership role in the community. In addition to serving as mentor in this year’s program, I proposed a project on reducing waste emission in the oil & gas industry that was accepted.โ – Bertrand Rioux, Independent Energy Consultant and Mentor for the Multiple Data Integration to Hyperledger Fabric Climate Accounting Network project
The Hyperledger Labs blockchain-carbon-accounting project includes a Hyperledger Fabric network for recording the carbon and Greenhouse Gas (GHG) emissions that cause climate change. Since there are many activities that cause such emissions, the network is designed to accept data from multiple sources of measurements. In this project, we will demonstrate integrations from measurement sources with blockchain networks by integrating the ThoughtWorks cloud computing emissions calculator, the NREL OpenPath mobile application, and other web- and mobile-based API’s sources to turn instrumented readings into emissions measurements. It will leverage previous projects involving Hyperledger Cactus, Vault security engines, and client security for Hyperledger Fabric.
The expected outcomes of this project are
Successful integration of the mobile apps and API’s with Hyperledger Fabric
Benchmark comparison of Hyperledger Fabric and alternatives
Documentation and tutorials for integrating future data sources
Hyperledger Cactus support ledger Interoperability but use a local deployment for testing; Hyperledger Bevel supports production-worthy deployments. This project aims to support Cactus deployment using Bevel to demonstrate production-like usage of Hyperledger Cactus.
The steps will be following:
Deploy a Hyperledger Fabric network using Bevel on a Managed Kubernetes cluster
Deploy a GoQuorum network using Bevel on a Managed Kubernetes cluster (can be the same cluster for simplicity).
Make changes in Hyperledger Bevel code to deploy the Cactus connectors in both the above networks.
Run Cactus test cases.
The expected outcomes of this project are
Successful Interoperability testing using Cactus on production like DLT networks.
Update to Hyperledger Bevel code to automatically deploy the Cactus plugins.
Update to Documentation of Bevel and Cactus.
Detailed tutorials and learning materials which would benefit Bevel and Cactus communities.
One of the key use cases of blockchain integration is asset bridging: in essence, “locking” an asset (typically, a native coin or token) in a smart contract on its authoritative ledger and making available corresponding, newly minted (wrapped/shadow/…) assets on another. By now, bridging is supported by quite mature solutions in the cryptoworld; however, the same is not true for “consortial” distributed ledger technologies. At the same time, such functionality can be expected to become an important requirement in the not too distant future: for instance, a central bank may choose to create a high performance, Hyperledger Fabric-based Central Bank Digital Currency (CBDC) ledger with a strongly controlled set of “smart contracts,” but allow controlled “bridging out” of the currency to dedicated distributed ledgers of industrial/enterprise cooperations.
Last year, a CBDC prototype with such functionality was created at the Dept. of Measurement and Information Systems of the Budapest University of Technology and Economics (BME), in a research project supported by the central bank of Hungary (MNB); our initial experience with a custom Hyperledger Cactus and TokenBridge based solution showed that this is a problem worth more targeted experimentation and systematic R&D.
The expected outcomes of this project are
Report on asset representation in Hyperledger Fabric and mapping approaches to standard Ethereum tokens
Report on bridging approaches and technologies and their applicability for bridging from/to Fabric
Requirement specification
Design specification
Prototype implementation and small demo of bridging at least ERC-20 or ERC-721 to Ethereum – and back
Develop a connector that provides both synchronous and asynchronous modes of interacting with a running Hyperledger Besu node. The connector would act as an interface between an enterprise application and the Hyperledger Besu node for data ingestions and it could provide event subscription options.
The scope of the project would also include an end-to-end test on a sample network.
The expected outcomes of this project are
Design and implement the connector.
A new Hyperledger Labs project is proposed with a documentation.
As conceptualized and standardized by the W3C, the Verifiable Credentials protocol is one of the three pillars of Self-Sovereign Identity, together with the Decentralized Identifiers protocol (DIDs) and Distributed Ledger Technology (or Blockchain). The project aims to design and build a verifiable credential registry (VCR) on GitHub repository, namely GitHub-based Verifiable Credential Registry (GVCR), by leveraging existing GitHub APIs, and other open-source tools provided by other Hyperledger projects, such as Hyperledger Aries, Hyperledger Indy, and Hyperledger Ursa. The basic architecture is already built. For more details about the conceptional design and workflows, please refer to the GitHub repository GitHub-VCR.
The expected outcomes of this project are
A verifiable credential registry based on one or more GitHub repositories.
Command-Line utility to automate the process of verification of a credential.
Proper test cases and documentation.
Codebase maintained with proper read me document.
The Hyperledger Summer Mentorship Program is part of the Linux Foundationโs overall commitment to mentoring. The application process is being managed through LFX Mentorship, a platform created by the Linux Foundations to train future open source leaders.
Since its inception as a Hyperledger project almost two years ago, Hyperledger Cactus has come a long way. Today, the maintainers are excited to announce a version 1 release that supports many exciting integration applications and moves us in the direction of our โdreamโ modular architecture.
For creating a new token economy beyond financial and non-financial areas, blockchain interoperability has an essential role in interacting with multiple blockchains in various industries. But it is challenging to develop codes integrating with multiple blockchains because the SDKs provided by each blockchain for posting transactions or getting block data are entirely different. So, this community published a blockchain interoperability tool called โHyperledger Cactusโ to help engineers integrate multiple blockchains easily.
Hyperledger Cactus is a pluggable enterprise-grade framework for transacting multiple blockchains. This project aims to provide a decentralized, adaptable and secure integration between blockchains and various platforms. Cactus codes are composed of three types of parts. โCactus Serversโ provide abstracted APIs that can be uniformly called independent of each blockchain SDKโs format, and APIs that can use each blockchain SDK wrapped with the typescript-axios API format using Cactus API Server. โBusiness Logic Pluginsโ coordinate cross-blockchain business logic applications. โLedger Connectorsโ facilitate connections to various blockchains, including all the blockchains of Graduated Hyperledger projects.
The Hyperledger Cactus v1 release includes the following modules:
Ledger Connectors – connectors to communicate with various blockchain platforms using multiple programming languages: (TypeScript and Python)
Hyperledger Besu
Hyperledger Fabric
Hyperledger Indy
Hyperledger Iroha
Hyperledger Sawtooth
Corda
Go-Ethereum
Quorum
Xdai
Business Logic Plugin samples – the application integrates multiple blockchains:
supply-chain-app: management application of supply chains process using Hyperledger Besu, Fabric, and Quorum
carbon-accounting: carbon accounting application using Ethereum and Hyperledger Fabric
discounted-cartrade: car ownership trading application using Ethereum currency, tokens on Hyperledger Fabric, and digital identity certification using Hyperledger Indy
electricity-trade: automatic electricity payment application using Ethereum currency, whose events are triggered by electricity metering transactions on Hyperledger Sawtooth.
Keychain Plugins – A set of plugins for storing sensitive information in storage engines outside of Cactus. Currently, these plugins support AWS, GCP, Azure, and Hashicorp Vault
Support Libraries – Various utility libraries that simplify programming business logic plugins. These are great for setting up your applications and can even help your test automation, where the simulation of a new blockchain is required with the lowest possible resource usage.
As part of the continual effort to mitigate risks, the current 1.0.0 release is undergoing a a third-party security audit at the time of this writing.The process will take about 6 to 8 weeks to complete, but we are planning to keep the 1.0.0 API stability in place as dictated by the semantic versioning rules.
Itโs effortless to try out Hyperledger Cactus today. We provide instructions for running a sample implementation of the Business Logic Plugins (service applications in Hyperledger Cactus architecture) that takes advantage of various blockchain platform features so you can evaluate Hyperledger Cactus on your PC.
It is even possible to set up a container with a supply chain example using a single command-line command! Here is a link to this example. We encourage you to see for yourself how easy it can be to get started with blockchain integration using Hyperledger Cactus.
Our long-term architectural goals for Hyperledger Cactus are to offer a flexible, modular system that allows users to configure blockchain integration systems to fit their needs exactly. We want users to reuse code as much as possible while still avoiding code bloat and duplication in the features. In future releases, we will actively cooperate with other Interoperability infrastructures besides Cactus, and we hope to provide more user-friendly tools by incorporating more features.
We would love to welcome you into the Hyperledger Cactus community. Unlike our project namesake, we are not prickly! Whether you want to contribute or are just interested in using Cactus, we would love to connect.
Itโs easy to get in touch with us! The simplest way is to reach out on the Hyperledger Cactus Discord channel. (New to Discord? Go here for more and to get signed up.) We have pair programming sessions set up for new contributors and users almost daily (please check the Hyperledger calendar), so we would be more than happy to help if you would like to contribute or want help getting up and running. We look forward to hearing from you!
โYouโve come a long way, blockchain!โ declares Forbes in the 2022 Blockchain 50, an annual list that tracks how billion dollar companies from around the world are innovating with the technology. Now in its fourth year, the Forbes Blockchain 50 has evolved just as much as this market.
The mainstreaming of both cryptocurrencies and their underlying technologies have reshaped business around the world. For many companies on the list, the innovation comes from new models of investing and transacting in crypto markets. But, as Forbes put it, โCryptocurrencies hog the spotlight, but blockchainโs biggest innovations are below the surface, saving billions each year for the worldโs largest companies.โ
For the companies on the list that have made blockchain technology a core foundation of their business operations, Hyperledger technologies, particularly Hyperledger Fabric, continue to be the standard. At least 13 companies on this yearโs list have built their strategic networks on Hyperledger technologies, far outpacing any other technology or platform among these kinds of deployments.
Congratulations to Hyperledger Foundation members DTCC, Fujitsu, Nornickel, Oracle, Tech Mahindra, Tencent and Walmart for making the Forbes Blockchain 50 in 2022. Read more on how Tech Mahindra, Walmart and other member companies are using Hyperledger technologies in our growing library of case studies.
Blockchain interoperability is one of the crucial features of blockchain technology, operating in three main vectors: enabling scalability, diminishing risks and eliminating silosยน. This blog post focuses on interoperability projects connecting data and value silos.
Standardization bodies are pushing forward drafts to normalize operations across the different interoperability layers. Those working on standards includeOpen Digital Asset Protocol (ODAP) from IETFยฒ, the interoperability working group in Digital Currency Global Initiative (DCGI) at ITUยณ, the subgroup 7 (ISO/TC/SG7) from ISO TechnicalCommittee 307โด, the Cross-Chain Interoperability working group at the Ethereum Enterprise Allianceโต, and many othersโถ. Interoperability solutions can follow guidelines from standardization bodies for seamless integration across their targets and other interoperability solutions.
Several blockchain interoperability projects focusing on solutions for interoperability among public blockchains flourished in the last yearsโถ. However, enterprise-grade interoperability solutions have only recently emerged, and the necessary standardization effort is still in its infancy. Although many different categorizations existโถ, we can broadly classify interoperability solutions into two categories with different philosophies and approaches. In the first, a common โsettlementโ chain (or hub) is created as a permanent infrastructure to which other chains (e.g., โsidechainsโ) can connect; the common chain serves as an interoperation medium, offering decentralized trust guarantees to the sidechains for the settlement of cross-chain transactions. Cosmos7 and Polkadot8 exemplify this approach, which is particularly suited to public blockchains and distributed ledgers.
In the second category of interoperability solutions, a blockchain network, be it public or private, is augmented with modules and capabilities that allow it to interoperate directly with another network without depending on third-party infrastructure. This second category, into which Hyperledger Cactus9 and the Hyperledger Lab Weaver10 fall, is useful in enterprise scenarios where privacy as well as performance are core concerns. Both these approaches have their pros and cons, which are scenario dependent.
The Hyperledger community has been involved in notable efforts to advance open source solutions that respond to modern interoperation needs, which can be wide-ranging, and provides a collection of solutions from which blockchain users and consortia can select as per their requirements. This post explores how four technologies (two projects and two labs) under the Hyperledger umbrella approach the interoperability problem (public blockchains – consortium blockchains – centralized systems), comparing them across multiple criteria.
Hyperledger Cactus
Hyperledger Cactus is a pluggable enterprise-grade framework to transact on multiple distributed ledgers without introducing yet another competing blockchain. It’s an SDK of SDKs.
Hyperledger Cactus aims to provide Decentralized, Adaptable and Secure Integration to and between Blockchain Networks. It aims to cover as many protocols as possible through an extensible plugin architecture where new protocols or functionality can be added by creating new plugins.
Hyperledger FireFly
Hyperledger FireFly provides an API orchestration layer over multiple blockchain ledgers, fostering interoperability in the application tier. Allowing common blockchain programming constructs like tokens, off-chain/on-chain data orchestration, and identity verification to be implemented in pluggable microservice code modules against multiple blockchains. Patterns already implemented that span multiple chains in a single business transaction, include using a Hyperledger Fabric DLT for private business agreement and document verification, orchestrated with tokenized value transfer on a separate Ethereum blockchain. FireFly also provides an API layer into which blockchain interoperability platforms can plug into in the future, for a simplified developer experience.
Weaver
Weaver, a Hyperledger Lab, is a framework with a family of protocols to enable interoperation for data sharing and asset movements between independent networks built on heterogeneous DLTs in a manner that preserves the core blockchain tenets of decentralization and security.
Interoperation using Weaver does not rely on trusted mediators. Rules and requirements are framed using the networks’ internal governance mechanisms. Interoperation relies minimally on shared infrastructure, which may provide identity services but does not play a part in core protocols through which data and assets are shared. Interoperation occurs through protocols that derive their trust from the counterparty networks’ native consensus mechanisms.
Currently, a protocol for data sharing across ledgers with proof of authenticity and provenance is supported (for Fabric and Corda). We are currently adding a new protocol that enables asset exchanges using the HTLC pattern.
YUI
YUI is a Hyperledger Lab that achieves interoperability between multiple heterogeneous ledgers. The lab provides modules and middleware for cross-chain communication as well as modules and tools for cross-chain application development.
For cross-chain communication, YUI is based on Inter Blockchain Communication (IBC) protocol by Cosmos project, with extensions to support various Hyperledger projects. IBC provides the basis for ledgersโ interaction of arbitrary data transfer and computation without the assumption of the trusted third party.
Currently YUI supports cross-authentication between enterprise ledgers (Fabric, Besu and Corda). Each actor of ledgers has to interact with only a respective ledger of its interest to complete a cross-chain operation such as an atomic swap of tokens.
Feature Matrix of Projects
Legend
โ : Supported โ: Out of Scope or not in the current roadmap ๐: Design/PoC but no official implementation ๐๏ธ: Not *yet* supported
Feature Name
YUI
Hyperledger Cactus
Weaver
Hyperledger FireFly
Remote API access
๐๏ธ
โ
โ
โ
Standard Data Model
โ (a)
๐๏ธ
โ
โ
Client Language bindings – NodeJS
โ(b)
๐๏ธ
โ
โ (d)
Client Language bindings – JVM
โ
๐๏ธ
โ
โ (d)
Client Language bindings – Rust
โ
๐๏ธ
โ
โ (d)
Client Language bindings – .NET
โ
๐๏ธ
โ
โ (d)
Client Contract Language bindings – Go
โ
๐๏ธ
โ
โ (e)
Contract Language bindings – NodeJS
โ
๐๏ธ
โ
โ (e)
Contract Language bindings – JVM
โ
๐๏ธ
โ
โ (e)
Contract Language bindings – Rust
โ
๐๏ธ
โ
โ (e)
Contract Language bindings – .NET
โ
๐๏ธ
โ
โ (e)
Trusted Relays
โ
โ
โ
โ
Trustless Relayer
โ
โ
โ
๐๏ธ
Generic Data Exports
๐๏ธ
๐๏ธ
๐๏ธ
โ
Ledger Data Backups
โ
๐๏ธ
โ
โ
Blockchain of Blockchains – To Store Data (e.g. Transactions)
โ
โ
๐๏ธ
๐๏ธ
Blockchain of Blockchains – To Store Network Information
๐๏ธ
โ
๐๏ธ
๐๏ธ
Cross-authentication – light client
โ
๐๏ธ
โ
๐๏ธ
Cross-authentication – Federated via other identity providers
โ
๐๏ธ
๐
๐
Arbitrary data transfer and computation
โ
โ
โ
โ
Exactly-once operation
โ
๐๏ธ
๐๏ธ
โ
Handling misbehaviour
โ
๐๏ธ
๐๏ธ
๐๏ธ
Does not incorporate interaction between new actor(s)
โ
๐๏ธ
โ
โ
Generate state proofs for external consumption
โ
โ
โ
โ
Verify state proofs independently, without becoming a network insider
โ
โ
โ
โ
Move assets from one ledger to another
โ (c)
โ
โ
โ
Copy assets across ledgers while retaining provenance knowledge
โ (c)
๐๏ธ
โ
โ
Atomically exchange assets in different ledgers
โ (c)
๐๏ธ
โ
๐๏ธ
Accountability (auditability) for data, assets, transactions that involved interoperation
Ability to support cross-network smart contracts (ledger–>ledger invocations)
โ
๐๏ธ
๐๏ธ
โ
End-to-end confidentiality
๐๏ธ
๐๏ธ
๐
โ
Privacy-preserving queries
๐๏ธ
๐๏ธ
๐๏ธ
๐๏ธ
Support for network discovery and connection bootstrapping
๐๏ธ
๐๏ธ
๐๏ธ
โ
Support for routing data and assets via intermediate networks
๐
๐๏ธ
๐๏ธ
โ
Future Work for 2022 Q1
Hyperledger Cactus
Support for the Open Digital Asset Protocol (ODAP)
Improved documentation and more examples (similar to fabric-samples)
Increased number of maintainers
Public test deployment of a Cactus network
Cactus benchmarks that are reproducible by anyone the same way the functional test cases are as long as they have access to a cloud provider account or a k8s cluster
Hyperledger FireFly
Multi-ledger support
Pluggable DID provider support
Pluggable API Security (e.g. OAuth 2.0)
Active-active clustering
NoSQL database support
Weaver
Implementation of cross-network decentralized identity and credential exchanges as trust basis for interoperation (currently in design spec)
Relay driver and support data/state view and asset transfers in Hyperledger Besu (Hyperledger Fabric and Corda already supported)
Relay module: more robustness (fault tolerance), add message queueing features, distribution and load balancing, make compatible with ODAP
Cross-network transaction invocation and event publish/subscribe
End-to-end confidentiality support for state and asset sharing
Augmented data/state sharing protocol to use verifiable external observation features through which the freshness of state can be verified
Improved documentation, tutorials, and testing features
Added performance evaluation capabilities
Inter-compatibility with Hyperledger Cactus through merged and aggregated features
YUI
Other ledger support (possibly other Hyperledger projects)
Enhanced support for Solidity and Ethereum-based ledgers
Enhanced support for connecting the Cosmos ecosystem (such as Tendermint light client for Solidity)
Improved documentation and release samples
Notes:
a) Based on the Inter Blockchain Communication Protocol (IBC) (i.e., the specifications define packet data structure and the interface of handler of packets) b) Developers only need to interact with the ledger and the framework does not incorporate another layer between them c) Supported by auxiliary modules such as Cross framework d) Hyperledger FireFly API is REST and JSON, so all language โbindingsโ are supported e) Access to contracts via Hyperledger FireFly is also fully REST-ified, so all language bindings are supported
The Hyperledger Mentorship Program is a structured hands-on learning opportunity for new developers who may otherwise lack the opportunity to gain exposure to Hyperledger open source development and entry to the technical community. These Mentorship Spotlights highlight the work done by the Mentors and the Mentees as part of their program participation. Learn more here.
ย
Mentorship Project Title
Blockchain Integration for Climate Emissions Data with Fabric and Cactus
Description
To implement an integration from Hyperledger Fabric utility emissions data channel to issue tokens on an Ethereum network using Hyperledger Cactus.
Status
COMPLETEDย
Difficulty
HIGHย
Additional Details
Learning Objectives, Expected Outcomes and Project Results available here.
Final Project Video
Mentee
Pritam Singh
Indian Insitute of Technology
“I contributed to making the carbon accounting application (a Hyperledger Lab from the Hyperledger Carbon Action SIG) more secure, stable and maintainable. To improve the security of the application, I designed and implemented offline signing of Hyperledger Fabricโs transactions with private keys stored in HashiCorpโs vault server. In order to make the application production ready, I used the Hyperledger Cactus connectors for integrating multiple blockchain. By employing test-driven development, I made the codebase more maintainable. Thanks to the guidance of all my mentors, I was able to achieve all my goals for the mentorship.ย
Through this mentorship, I got the opportunity to see how community driven projects are developed with contributions coming from across the globe.”
Mentors
Si Chen
Open Source Strategies, Inc
Peter Somogyvari
Accenture
Kamlesh Nagware
Snapper Future Tech
Si Chen
“This mentorship addressed the important issue of how to integrate emissions data stored on Hyperledger Fabric with tokens created in Ethereum. Our mentee had strong technical skills and was able to solve many complex technical challenges in making this integration work. Working on open source projects is a great way for mentees to prepare for the real world as it will give them a chance to work with other developers across different areas, figure out existing code and learn the importance of communicating well. For mentors, it’s a great way to introduce new talent into our projects and keep them moving forward.”
Peter Somogyvari
“Being a mentor on this project gave me unique insight into the fight against climate change and put me in touch a lot of great people who are leading the charge on the latter. Pritam, our mentee, demonstrated excellent analytical and technical skills and a true understanding of the open-source software development principles, which puts him on track to do great things in the future both within and outside of the Linux Foundation/Hyperledger.”
Kamlesh Nagware
“Blockchain interoperability is a key topic this year with many enterprises focusing research on it. Hyperledger Cactus provides decentralized, secure and adaptable integration between blockchain networks. In this mentorship project, the main focus was on using Hyperledger Cactus for carbon accounting and carbon credit tokenization to support the blockchain-carbon-accounting project, a Hyperlegder Lab from the Climate Action SIG. Completion of this project shows that interoperability is not just a theory but can be achieved with the right design architecture and approach. Thanks to our mentee, Pritam Singh,ย for a wonderful job completing this project. And, in the last, thanks to my co-mentors Peter Somogyvari, Cactus Maintainer, for his support and to Si Chen for the proposing this mentorship project.โ