What is Hyperledger Fabric

Hyperledger Fabric is one of the projects within Hyperledger. This article explains what Hyperledger Fabric project is all about and how it’s different than other blockchain projects out there.

Blockchain technology (also referred to as blockchain) is one of the top tech trends of year 2018.  Blockchain technology promises to bring trust, transparency, and accountability to transactions-based data systems.
 
This article explains what Hyperledger Fabric project is all about and how it’s different than other blockchain projects out there.
 
Hyperledger Fabric 
  
Hyperledger Fabric
 
Hyperledger is a family of blockchain-based open source projects hosted by the Linux Foundation. These projects can be categorized as frameworks and tools.
 
Hyperledger Fabric is one of the projects within Hyperledger. The following image depicts the Hyperledger project family and their purpose.
 
Hyperledger
Image source: Hyperledger.org
 
Public Permissionless vs Permissioned
 
One of the key attributes of blockchain technology is a peer-to-peer network that allows computers to join the network and participate in consensus and hosting data.
 
We can divide the blockchain network into two types – public permissionless, and permissioned.
 
Public permissionless blockchains are publicly available to anyone. Anyone can create a node by following the network guidelines, join the network, and start participating. Permissioned blockchains need the network initiators to qualify and allow other peers permissions to join the network.
 
Public permissionless networks often run into problems such as unknown user authentication, transparent records, and storage of data on public and unknown devices, slow performance and throughput, and project decision making.
 
Hyperledger Fabric solves these problems. In Hyperledger Fabric world:
  • Participants are identifiable
  • Networks are permissioned
  • High transaction throughput performance
  • Low-latency of transaction confirmation
  • Privacy and confidentiality of transactions and data pertaining to business transactions
Hyperledger Fabric is an open source project managed by the Linux Foundation for developing blockchain solutions (or applications) using programmable and modular architecture.
 
Key features of Hyperledger Fabric are permissioned network
  • Hyperledger Fabric is modular and uses a plug-n-play architecture to enable certain components and features.
  • Hyperledger Fabric runs on a permissioned network that allows admins to define membership and access rights within your business network.
  • Hyperledger Fabric gives businesses a flexibility to make transactions visibility to selected parties only. Otherwise, the transactions are kept confidential.
  • Hyperledger Fabric is programmable and supports smart contracts to put and execute and automate business processes.
  • Hyperledger Fabric does not require cryptocurrency for mining and expensive computations to solve complex problems to approve transactions.
The following table compares Bitcoin and Ethereum blockchains with Hyperledger Fabric.
 
 

Bitcoin

Ethereum

Hyperledger Fabric

Network

Public

Public or permissioned

Permissioned

Network Fees

Bitcoin

Ether or other cryptocurrencies derived form Ether

None

Transactions

Anonymous

Anonymous or private

Public or confidential

Consensus

Proof of work

Proof of work

PBFT

Smart contracts

Not supported

Supported

Supported

Smart contract language

NA

Solidity

Golang, Java, Node.js

Language

C++

Golang, C++, Python

Golang, Java

 
Hyperledger Fabric is private and permissioned
 
Hyperledger Fabric is private and permissioned. Unlike permissionless blockchains that use a “proof of work” type of consensus algorithms, Fabric offers identities through a trusted Membership Service Provider (MSP).
 
Shared Ledger
 
Hyperledger Fabric has a shared ledger, LevelDB key-value store database. It also allows an additional transaction log. Each participant on the network gets a copy of the ledger.
 
Smart Contracts
 
Hyperledger Fabric smart contracts are written in chaincode. Chaincode can be implemented in Go, Node.js or Java programming languages.
 
Privacy
 
Hyperledger Fabric supports networks where privacy (using channels) is a key operational requirement as well as networks that are comparatively open.
 
Consensus
 
Hyperledger Fabric does not use a cryptocurrency and mining process for its consensus mechanism. It allows the network administrators to choose a consensus mechanism that best represents their needs.
 
Getting started with Hyperledger Fabric
 
You can get started with Hyperledger Fabric here:
 
The public repository of Hyperledger Fabric is available on Github:
 
References and further readings
 
 
If you’re new to blockchain, read Basics of Blockchain
 
Blockchain is not a solution for everything, Check if you need a blockchain: How to decide if my project needs a Blockchain