Hyperledger is an open-source community focused on developing a suite of stable frameworks, tools, and libraries for enterprise-grade blockchain deployments.
Hyperledger Fabric is an enterprise-grade, distributed ledger platform that offers modularity and versatility for a broad set of industry use cases. The modular architecture for Hyperledger Fabric accommodates the diversity of enterprise use cases through plug-and-play components, such as consensus, privacy, and membership services.
Hyperledger Fabric is release under the Linux Foundation. It is a collaborative effort to advance blockchain technology by identifying and addressing important features for a cross-industry open standard for distributed ledgers that can transform the way business transactions are conducted globally. IBM is one contributor to code, IP, and development effort to Hyperledger Fabric, and the initial version was released in July 2017.
Hyperledger Fabric – Features
It will transform the business network in which an individual operates and creates a new level of trust across organizations who want to do business together.
It is a blockchain framework on which developers write their own chain code. It allows developers to control where and how transactions get verified for better scaling and privacy with higher transaction throughput. It has the ability to support large networks and with truly private multi-party transactions.
- Model your business networks, talk about assets, participants, and transactions rather than low-level developments, test, and exposed via APIs.
- Applications invoke transactions to interact with the business network.
- Integrate existing records such as other databases or other places where data is stored for analytic, visualization, etc.
- Fully open and part of Linux Foundation Hyperledger.
Hyperledger Fabric – Components
We will familiarize ourselves with different components of Hyperledger Fabric architecture, their roles, the interaction mechanisms among the components.
Membership Services: It manages the identities of users within an organization, which includes the generation of public and private key pairs, assigning of credentials based on the roles, getting the public key identity signed certificate (Digital Signature) from the Certificate Authority (CA), revocation of users, and secure storage of keys, etc. These digital certificates are used by the uses and peers node to sign the transactions and submit them to the blockchain. The advantage of signing these transactions is that they are legitimate users first, and second, they have proper access privilege to perform the operations.
Certificate Authority: It issues certificates (x.509) to the users. There are two ways to manage Certificate Authority in the hyperledger fabric. The first is to use an inbuilt CA service called Fabric-CA. The second way is to link the external CA. The CA facilitates the Membership services module to manage certificates, which includes signing and revocation of certificates.
Client Application: The client application initiates a transaction request and submits it to the peer nodes. The client application can be written in any language of developer choice. However, it uses SDK to communicate with hyperledger fabric, and the SDK is usually called hyperledger fabric client.
Peer: A Peer node represents a computer server type of system, which runs hyperledger fabric packages, and performs specific operations. The entire permissioned blockchain network consists of multiple organizations, and individual organizations may run multiple peers. The major advantage of running multiple peers within an organization to handle fault tolerance. There are mainly two types of peer nodes, endorsing and committing peer. However, it may be possible that some peer nodes have both the endorsing and committing functionalities, while others may have just a committing functionality.
- Committing Peer: It verifies the block received from the ordering service node and commits to the ledger. It maintains the ledger and the state but does not execute any transactions but may hold smart contracts or chaincode.
- Endorsing Peer: A specialized peer who receives a transaction proposal for endorsement responds granting or denying endorsement, and it must hold the smart contract.
Ordering Service: The ordering service receives transaction records from the clients, collects all the transactions for a certain duration, orders these transactions based on the ordering algorithm, and constructs a block. Later, this block will be sent to all the connected peer nodes for verification and permanent addition to the shared ledger of hyperledger fabric.
- Ordering Node: Approves the inclusion of transaction blocks into the ledger and communicates with committing and endorsing peer nodes. However, it does not hold any smart contracts and ledger. The ordering nodes ensure that all the transactions are totally ordered. Every node in the network commits the same transactions in the same order and maintains consistency across the entire network.
References
- NPTEL lecture series on Blockchains Architecture, Design and Use Cases by Prof. Sandip Chakraborty, IIT Kharagpur.
- https://www.hyperledger.org/wp-content/uploads/2020/03/hyperledger_fabric_whitepaper.pdf
- https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/492972/gs-16-1-distributed-ledger-technology.pdf
- https://www.hyperledger.org/
- https://en.wikipedia.org/wiki/Hyperledger
- An Introduction to Hyperledger Fabric and IBM Blockchain
319 total views, 1 views today