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