Hyperledger Fabric v2.0: A Perfect Fit for Enterprise-grade Production Environments
By: Harpreet Singh
Tags: Blockchain Application, Blockchain Development, Distributed Ledgers, Network Deployment, Hyperledger Fabric

Ever since its first major roll-out, i.e. v1.0, back in 2017, Hyperledger Fabric (for all the right reasons) has been the talk of the town across the developers’ community. The proprietors of Hyperledger Fabric have left no stone unturned to make their product stand out from other similar tools in the industry.

And guess what, their efforts have finally paid off, thanks to the significant enhancements made and innovative features added in each version — based on the feedback from the industry and community. Considering its open-source nature and distinct characteristics, Hyperledger Fabric has been widely adopted by major cloud service providers like IBM, Oracle, AWS, Google, Alibaba, Azure, Huawei, and more. Moreover, 30 out of 50 organizations in Forbes’s top 50 Blockchain companies list are already using Hyperledger frameworks and tools, which doesn’t need any further explanation.

Now, without wasting any more time, let’s come to the crux of the matter. If you’re immersed in the DLT space and want to know what Hyperledger Fabric v2.0 has in store for you, then this blog post is for you.

Here’s a glimpse of what we’ll be covering in this post:

The purpose behind releasing Hyperledger Fabric v2.0

What’s new in v2.0 — an overview of the newly added features and enhancements

Talking about the major features in detail and comparing them with v1.4 and other previous versions

From greater control over smart contracts & transaction approvals to private data enhancements to external chaincode launcher, v2.0 is jam-packed with new and exciting features that make Hyperledger Fabric network deployment less cumbersome and more exciting.

Now let’s discuss each of the above-mentioned pointers in detail.

Starting with the first one — the purpose of the release.

Fabric v2.0: First Hyperledger project to hit 2.0 milestone

“Raising the bar for enterprise Blockchain” and “making the platform more suitable for production environments” were the two primary objectives behind releasing Hyperledger Fabric v2.0. The previous versions of Hyperledger Fabric had certain limitations which needed a complete overhauling to meet the changing development and deployment needs. For instance, in older versions of Hyperledger Fabric, only one organization was given the authority to add or amend a smart contract, while others were only permitted to refuse the installation of chaincode (without participating in transactions that used the smart contracts).

However, this is not the case with v2.0. In the latest version of Hyperledger Fabric, multiple organizations need to agree to the parameters of a chaincode. To put it simply, Fabric v2.0 lifecycle is more flexible as it supports both centralized and decentralized approaches, requiring a certain number of organizations to agree on the endorsement policy and give the green light for the chaincode to go live.

Of course, this is just a single example encircling why Hyperledger Fabric needed an overhaul; there are many more instances which we would address in the later sections of the post. So, don’t miss out on that!

Let’s keep going and discuss the rest of the pointers now. So, without any further ado, let’s dive right in.

Hyperledger Fabric v2.0: What’s new in it?

Fabric’s latest release, i.e. v2.0, is minutely developed keeping in mind the user experience of the enterprises. The intention behind its rollout was to make the platform easy-to-use and more secure than ever. Fabric v2.0 provides relentless support to the users in all terms and allows them to meet the rising demands of the community.

Below are the key enhancements and new features included in Hyperledger Fabric v2.0:

Decentralized governance for smart contracts

Unlike Fabric v1.0, version 2.0 comes with decentralized governance for chaincode (smart contracts), which enables users to install a chaincode on their peers and initiate it on the channel. This gives rise to the new chaincode lifecycle management which allows multiple organizations to decide on an agreement based on the parameters of the chaincode — as explained earlier in the first pointer.

Deliberate chaincode upgrade process

The latest version of Hyperledger Fabric has a more deliberate chaincode upgrade process, which wasn’t the case with the previous versions. For a clearer understanding, in the previous chaincode lifecycle, the upgrade transaction could be issued by a single organization, which could turn out to be perilous for a channel member who is yet to install the new chaincode.

· Simplified endorsement policy with new updates

The latest Fabric lifecycle (v2.0 integrated) empowers users to change the endorsement policy or private data collection configuration without asking them to repackage or reinstall the smart contracts. Fabric v2.0 provides users with a new default endorsement policy which requires endorsement from a greater proportion of organizations on the channel. Here’s the best part: the endorsement policy is automatically updated every time an organization is added or removed from the channel.

Inspectable chaincode packages

Another key highlight of Fabric v2.0 that gives it a firm edge over its previous versions is its easily accessible/readable chaincode that is available in a ‘tar’ file, which assists you in inspecting the chaincode files easily and determining the installations across other organizations.

Multiple chaincode support on a channel

In the previous chaincode lifecycle, each chaincode on a particular channel was defined using a name and version that was specified when the chaincode package was installed. Well, that’s not how it works with Hyperledger Fabric v2.0. To be precise, the recent chaincode lifecycle allows you to use a single chaincode package and deploy it as many times you want (with different names though) on the same or different channels, based on your preference.

New chaincode application patterns for collaboration and consensus

You can create your own chaincode applications leveraging the new chaincode lifecycle management, which provides organizations the consent to transact data before they are committed to the ledger. Moreover, the latest version of Hyperledger Fabric empowers organizations to extend a copy of their chaincode so as to meet their individual business requirements. However, the new chaincode lifecycle becomes effective only when you’ve updated the channel application capability to version 2.0.

Need-to-know basis data privacy

Beyond sharing data among a subset of network members, the new implicit enterprise-specific private collection feature in Hyperledger Fabric v2.0 enables organizations to privately share data with other organizations in a particular channel on a need-to-know basis. This eradicates the need to define channels or private data collections for numerous combinations of members.

External chaincode launcher

This standout feature empowers organizations/operators to develop and deploy chaincode using the technology of their choice. For instance, an organization or operator may choose Kubernetes pod to deploy chaincode as an external service. No external builders and launchers are required as the default builder is responsible for building and running the chaincode in the same manner as it was in previous versions using the Docker API. In v2.0, peers no longer need to access a Docker daemon (something that isn’t necessary for production environments) to run or build the chaincode.

Final Words

Apart from the ones mentioned above, there are various other prominent features that make Hyperledger Fabric v2.0 a perfect fit for enterprise-grade production environments, which include decentralized ordering service, alpine-based docker images, improved performance on CouchDB, sample test network, and more. To try this new version of Hyperledger Fabric right away, go through the Getting Started documentation shared by Hyperledger. Note: If you’re already using Fabric v1.4 or higher, you can effortlessly upgrade to v2.0 without any downtime.

Long story short, it won’t be wrong saying that Hyperledger Fabric v2.0 is a noteworthy milestone in the history of the Hyperledger family. Without a doubt, it can boost the adoption of enterprise Blockchains as it brings a whole lot of features and enhancements to the table, which were nowhere to be found in the prior versions of Hyperledger Fabric.

If you’re looking for a viable solution that could make your Hyperledger Fabric network deployment a breeze, then look no further than FabDep. It’s a GUI-based network management tool that allows a consortium of organizations to securely deploy an enterprise-level Hyperledger Fabric network on their preferred cloud VMs (Google Cloud, Microsoft Azure, AWS, etc.) using Kubernetes. FabDep currently comes with Fabric v1.4.6 support and will soon be integrated with Fabric v2.0 features. For deeper insights, visit www.fabricdeployer.com

That’s all for now! We’ll be back soon with our subsequent blog posts covering each of the primary features of Hyperledger Fabric v2.0 in our unique style.

Following are the topics that we would cover in our next posts:

• Decentralized governance for smart contracts

• External chaincode launcher

• Migrating to Hyperledger Fabric v2.0

So, stay tuned for that!