Pros and Cons of Hyperledger Fabric for Blockchain Networks
Interested in the pros and cons of using Hyperledger Fabric for blockchain? You’ve come to the right place. In this article, we will discuss pros and cons of hyperledger fabric in blockchain systems.
Advantages of Hyperledger Fabric: 1. Modular architecture
Building an enterprise blockchain can be challenging. Developers need to spend a lot of time in building the required components since the technology is still relatively new. There is not much in the way of off the shelf plugins etc. available.
Developers devote significant energy to automate things at the protocol level. It‘s not easy since there‘s no single administrator. You can read more about the challenges of building enterprise blockchains in this article “’WordPress of Blockchain’ Startup Seeks to Solve Enterprise Pain Points”.
Fabric offers a modular architecture where developers can create plug-in components. This is very helpful to developers. They can easily include components like custom identity management etc., thanks to this feature.
The need to include a custom identity management system is a particularly common requirement. Many companies want to build a permissioned blockchain but want to reuse their existing identity management system for network participants. The modular architecture allows this.
The 2nd advantage: you can use the Hyperledger Fabric to build permissioned blockchain
If you are building a blockchain for a business, you are likely building a permissioned one. Businesses such as banks operating under stringent regulatory requirements can‘t afford unknown users to view transaction data. Besides, information is an asset to these enterprises so unauthorized viewing is a risk to future financial profits.
Fabric is a permissioned framework. All participants have known identity which is validated against the organizations‘ identity management system. There are no anonymous or pseudonymous users.
Organizations using Fabric would typically use a ’Membership Service Provider‘ (MSP). This is for issuing and validating certificates, and for user authentication.
MSP is also called Certificate Authority (CA) in Fabric parlance. The platform provides tools for MSP certificate generation, for e.g. ’cryptogen‘. Read more about the MSP in Fabric in this article “Hyperledger Fabric in practice. Main components and running them locally”.
You can assign different roles to the nodes, as follows:
- ’Client‘: invokes transactions;
- ’Orderer‘: updates transaction data;
- ’Peer‘: receives updates from orderer and commits transactions in the ledger;
- ’Endorser‘: a kind of peer that validates transaction authenticity.
Given that the process of building a permissioned blockchain network is complex and challenging, it’s a good idea to think about hiring expert blockchain developers and ensure that it runs like clockwork.
The 3rd among the pros of Hyperledger Fabric: Performance and scalability
There is no POW algorithm and crypto mining in Fabric, and it delivers high scalability and fast transactions. Transaction validation mirrors how a transaction workflow operates in normal enterprise and works as follows:
- The transaction processing has 3 separate phases:
- Distributed logic processing and agreements involving chaincodes;
- Transaction ordering;
- Transaction validation and commit.
- This ensures fewer levels of trust and validation across different types of nodes, thus reducing overhead;
- A transaction lifecycle is as follows:
- A requester submits a transaction proposal to an endorser;
- The endorsement policy specifies the number and combination of endorsers required for this transaction;
- The endorser executes chaincodes to simulate the proposal to the peers through a ’read/write set‘;
- The endorser sends back the signed proposal responses, also called ’endorsements‘;
- The client submits a transaction to the orderer with digital signatures;
- The orderer creates a block of transactions and sends it to the peers;
- The peer checks whether the endorsement policy was met and checks for conflicting transactions. When both checks are successful the peer commits the block in the ledger.
Only signature read/write sets traverse the network, that optimizes scalability and enables performance. Only endorsers and peers committing transactions actually see these transactions, hence confidentiality of data is optimally maintained.
The 4th advantage: ’Channels‘ for partitioning data
Take the case of the financial services sector, where some investment instruments can take 10 or more years to deliver the desired returns. This means that the data concerning such instruments must remain confidential for a decade or more.
Banks and financial institutions aren‘t confident that data encryption technology used in blockchain or any other technology for that matter can protect their sensitive data for that long. They are aware that hackers are continuously upgrading their capabilities.
For e.g., in a decade from now, quantum computing, i.e. a technology that’s expected to increase computing power many times over, theoretically will be able to break today’s data encryption technology.
Read “Quantum computers threaten data encryption” if you wish to know more.
Financial services companies are keen on physically separating their sensitive data to protect them. ’Channels‘ in Fabric provide a data-partitioning capability that achieves this physical separation of sensitive data.
Rich querying capability is the 5th among the pros
With every update of distributed ledger solutions, a set of asset key-value pairs are also committed to the ledger. The file system of Fabric incorporates LevelDB, which is very suitable to query functions.
LevelDB has a key-value database and enables keyed queries. There can also be composite key queries and key range queries.
You can also optionally add CouchDB, which has a document database where content is stored as JSON. This makes the database very easy to query.
Hire expert developers for your next project
1,200 top developers
us since 2016
Using JSON eliminates the need for frequent changes to the application just to facilitate querying. CouchDB also supports data-rich queries.
Hardware-based protection of digital keys is the 6th advantage of Hyperledger Fabric
Fabric features a ’Hardware Security Model‘ (HSM) that helps in safeguarding and managing digital keys used for authentication. For use cases such as identity management, HSM increases the protection of keys and sensitive data.
The 7th advantage is the rich community support
Earlier I listed a few member organizations involved in the Hyperledger consortium. There are many more, including Oracle, Deloitte, Huawei, JP Morgan, ABN-AMRO, ANZ, and Aetna. You can find the complete list of members in the “Members” section of their hyperledger foundation website.
This is one of the richest development communities going. Coming from such a diverse set of organizations, each of which have significant expertise both in blockchain technology as well as their primary ’Lines of Business‘ (LOBs). The combined might of the community is expected to pay a rich dividend to Fabrics‘ future development roadmap.
The disadvantages of Hyperledger Fabric:
Two obvious disadvantages of Fabric are both related to the framework being quite new. These are:
- Lack of proven use cases;
- An inadequate number of skilled programmers able to use it.
Considering that Fabrics 1.0 was released only in July 2017, the above disadvantages are expected. The project team is aware that addressing these challenges will take time. You can read about their viewpoint in the article “The pros and cons of Hyperledger Fabric”.
Perceived disadvantages of Fabric
There are those in the crypto community who consider Fabric to have fundamental disadvantages. However, this is debatable. These crypto community members insist on fully decentralized and completely open blockchain. Nothing less meets their standards.
Below are their concerns with Fabric, and the counterpoints from supporters of Fabric:
- Critiques argue that Fabric is permissioned, and therefore not a public blockchain. This doesn‘t allow complete transparency in hyperledger projects. Supporters of Fabric say that it will be used in business-to-business (B2B) and business-to-consumer (B2C) contexts that demand trusted participants only. This removes the possibility of using a permissionless blockchain.
- Critiques don‘t find the consensus algorithm in Fabric as secure as POW. However, supporters of Fabric argue that in a network where all participants have already been verified using an internal identity management system, a costly algorithm like POW isn‘t required.
- Critiques argue that without a crypto token, there will not be an incentive for nodes to keep the network as secure as miners do in the Bitcoin network. Supporters point out that there will be no anonymous transactions in the network, hence, POW and an expensive mining process isn‘t necessary.
- Critiques claim that there won‘t be real immutability without POW. Supporters agree that complete immutability isn‘t possible in Fabric since it doesn‘t employ POW. But they also point out that in a network with known participants, all bound by the governance and code of conduct of the business organization, a ’tamper-evident’ system is needed, and not a ’tamper-proof’ one. The cryptographic hash will be different if someone tampers with data. In Fabric, checking the hashes will reveal if tampering was done, and that will allow organizations to start the necessary corrective process.
You can read about these perceived disadvantages and the corresponding responses from the supporters of hyperledger fabric networks, in this article “Private Blockchains for Bitcoin Maximalists”.
Are you interested in using hyperledger fabric for enterprise blockchain application development? You will require expert software developers with the right skillset. DevTeam.Space can help you here with their community of blockchain-expert developers.
Write to us your initial hyperledger fabric development requirements via this quick form and one of our technical managers will get back to you for further discussion.
Frequently Asked Question
Hyperledger was started in 2015 by the Linux Foundation. It is an open-source blockchain framework that supports the development of blockchains applications using distributed ledger technology.
It is an enterprise blockchain that is designed for business application development. It is not a public blockchain.
The main difference is that the Ethereum blockchain is a public blockchain that allows anyone to develop on it using a smart contract. Hyperledger Fabric, on the other hand, is an enterprise blockchain that is designed for businesses to create blockchain solutions on.