Table of Contents
What is Hyperledger Fabric?
Hyperledger Fabric is one of the frameworks that is used to create enterprise-grade blockchain networks. It is a permissioned and open-source blockchain technology that is used for organizations for streamlining their business processes. Hosted by the Linux Foundation, it is based on the collaborative efforts of enterprises that have adopted blockchain for bringing about scalability and high performance of their business use cases.
Hyperledger Fabric has been designed to behave as a permissioned Distributed Ledger Technology (DLT) platform so that it overcomes the shortcomings of traditional distributed ledger platforms on which cryptocurrency is based.
Advantages of the Hyperledger Fabric Technology
- Modularity: Hyperledger Fabric framework supports modular architecture for creating business applications. Due to its modularity, the underlying architecture can be configurable as per the requirements of an enterprise. Modularity lets Hyperledger Fabric support a variety of use cases including supply chain, trade, banking, finance, real estate, and insurance.
- Permissioned and Untrusted: If the enterprises are to use Distributed Ledger Technology for their business needs, they must rely on a blockchain that provides a permissioned network rather than the permissionless technologies that blockchains are generally based on. Hyperledger provides a permissioned network where all the participants are already known and there is no need for a trustless environment or complete anonymity. In enterprise-scaled networks, as the participants are already known, there is a pre-existing trust value among them via the use of legal agreements for handling untoward situations or disputes.
- Security: As the governance model of the Hyperledger Fabric is based on a permissioned and untrusted network, the probability of a participant initiating a malicious attack is reduced significantly. This is because of the fact that all transactions on the blockchain are recorded via the use of a pre-established endorsement policy. In case of such an attack, the wrongdoer is easily identified and removed from the network.
- Smart Contract Architecture. A Smart Contract (called “chain code” in Hyperledger Fabric) architecture in a blockchain network involves validation of the transactions followed by their ordering and then execution of these transactions as per their order. The chain code architecture in Hyperledger Fabric, however, works differently. The execution of a transaction is the first step there, which is followed by ordering them via a pluggable consensus protocol and ends with the validation of these transactions against the pre-defined endorsement policy.
- Non-Deterministic Output Elimination: Determinism in a smart contract means for the same input, each node in the blockchain network must produce the same output. Without determinism, a consensus cannot be reached and transactions cannot be validated. As stated above, Hyperledger Fabric supports the execution of the transactions before they are ordered and validated; based on the endorsement policy, only a few nodes are selected for carrying out the execution of the chain code.
This way, all the peer nodes need to be involved in the execution process, thus boosting the performance of the network. And as the inconsistent results are already identified before ordering transactions, the non-determinism is kept in check. This further enables the Fabric network to use traditional programming languages such as Java and Node.js as against domain-specific languages like Solidity.
- Confidentiality via Channel Architecture: There is an inherent lack of privacy and confidentiality in a permissionless public blockchain system as all nodes can read and modify data. Generally, blockchains use encryption. But a permissionless blockchain for an enterprise carries the risk of data compromise as all the peer nodes carry this encrypted data. The Fabric framework uses channel architecture to address any confidentiality or privacy issues. In channel architecture, only the participating nodes have access to data transactions via chain code. The channels let a group of enterprise participants interact by creating a ledger that only they have access to.
- Identity: Digital identities of the participants in Fabric are handled using the Public Key Infrastructure (PKI) and Membership Service Provider (MSP). While the digital identities of all the participants are handled by the PKI identity mechanism, MSP decides the permissions for verifiable identities. The digital identities are contained in certificates and decide the permissions allowed or blocked for a set of participants.
- Policy: Hyperledger Fabric ensures the security of the enterprise-grade networks by invoking policies which are a set of rules that decide which participants have access to make changes to a network or chain code. The member participants, using these policies, can determine the number of organizations to reach a consensus before a change can be implemented on the network. The policies are framed as and when the channels are set up initially and members of channels can come to an agreement for updating a network.
- Pluggable Consensus and Fault Tolerance: Another point where a Fabric network differs from the general blockchain networks is its use of the Pluggable Consensus Mechanism. Hyperledger Fabric framework allows enterprises to customize the networks in a way that suits them better than other ways.
An enterprise can choose a model that gives better performance of its fault tolerance mechanisms. While one enterprise may find the Byzantine Fault Tolerance (BFT) mechanism more suitable for its throughput, for other enterprises, the Crash Fault Tolerance (CFT) model might be more appropriate. This gives leverage to these enterprises to improve their performance and have scalability without any issues.
Transaction Flow in Hyperledger Fabric Framework
The transaction flow mechanism in Hyperledger Fabric is based on “the execute-order-validate approach. The steps are as follows:
- The client application sends the endorsement proposal to the member participants.
- After checking the client’s identity, the peer members verify if the output of the transaction sent by the client application matches the expectation. If matched, the endorsement is sent back to the client.
- When the client receives all the endorsements laid down in the endorsement policy, it initiates the ordering service for the transactions.
- Under the ordering mechanism, the transactions are arranged sequentially before they can be appended to the blocks. On receiving these blocks, the nodes on the network of an enterprise validate transactions. Once validation is complete, the block is appended to the blockchain.
Hyperledger vs Ethereum
If you compare Hyperledger and Ethereum, there are fundamental differences between the two. Let us see how these two differ from one another:
- All transactions on Ethereum are publically available to everyone but that is not the case with Hyperledger. As we saw above, only the participants in the channel architecture have the permission to view the transactions.This conforms to the confidentiality principles on which Hyperledger Fabric is based.
- Network participation is open to everyone in Ethereum. But this is not the case with Hyperledger, which allows network access only to the pre-determined community members or participants. Other than these participants, no one else who has not the permission can participate.
- One being a permissionless and the other being a permissioned network, the two differ in how the consensus mechanism is reached. In Ethereum, all the network participants need to reach a consensus before transaction can be finalized.
In Hyperledger Fabric, either there is no-consensus mechanism or a BFT based consensus that does not allow any third party other than the two that are participating to agree upon to reach a consensus. This is done with the help of a shared key between the two participants. - Yet another point of difference between Ethereum and Fabric is mining. Ethereum mining is done with its own ETH token, there is no such cryptocurrency that is linked to Fabric; therefore, there is no need for mining.
Read more on Hyperledger Fabric here.
Read More
Follow these links to read about other cryptocurrency topics:
Disclaimer
This article is for informational purposes only and is NOT a financial advice. We do not promote, in any form, any blockchain network or cryptocurrencies or tokens mentioned herein. The content of this article is based on the information available up to the knowledge. You should be aware that investing in any blockchain network or cryptocurrency or a crypto project is subject to market risk and you MUST do your own due diligence (DYOR) before you put any money in any of the crypto or blockchain projects or coins or tokens.