Understanding the Modular Architecture of Hyperledger Fabric
Shivani Tripathi

Understanding the Modular Architecture of Hyperledger Fabric

This is my second article on Blockchain technology and the first one was about the major Blockchain types which you can read here. Before understanding the modular architecture of Hyperledger Fabric, let us first evaluate the umbrella term "Hyperledger".

Overview of Hyperledger

Hyperledger is a cross-industry, open-source, global enterprise blockchain project launched by The Linux Foundation in December 2015. It provides industrial solutions across various industries such as IoT (Internet of Things), Banking, Healthcare, Finance, Supply Chain, Manufacturing, and other sectors. It has more than 235 member organizations such as JP Morgan, Accenture, American Express, Intel, Hitachi, Cisco, Airbus, Baidu, and NEC, among others. It is an umbrella project incubating separate blockchain projects addressed to distinct business models, use cases, and solutions. It provides plug-and-play solutions to boost consortium business members' performance and overall infrastructure.

To enable privacy, confidentiality, and auditability, all Hyperledger projects work on the fundamental principle of a modular approach where each component is interchangeable and can be incorporated into other components & also into other legacy corporate IT systems such as ERP (Enterprise Resource Planning). Not only limited to this, but they can also connect to other public blockchain networks like Bitcoin and Ethereum.

"Hyperledger is incubating and promoting enterprise-grade, open source business blockchain technologies, including distributed ledgers, smart contracts engines, client libraries, GUI s, Utility libraries, and sample applications."

It is open-source software, on top of which anyone can build applications to meet organizational needs. Despite being an open-source collaboration, it targets industrial applications that are deployed as private commissioned blockchains. Due to the extensible and flexible infrastructure of Hyperleder projects, an organization can choose a consensus algorithm, smart contract programming language, and level of encryption that can best fit their business needs.

Hyperledger Framework & Tools

Hyperledger Framework

Image source:

What is Hyperledger Fabric?

Hyperledger Fabric, proposed originally by IBM aims to provide modular, secure, and scalable solutions for industrial blockchain applications. Fabric is a core base layer infrastructure for Hyperledger projects and exemplifies the modular architecture in form of plug-and-play consensus and smart contracts.??

Hyperledger Fabric Workflow

Image Source:

Characteristics of Hyperledger Fabric

The essential characteristics of Hyperledger Fabric are explained in the pointers given further.

  1. Modular design: Modular design and approach of Hyerledger Fabric make it efficient enough to integrate with any other components or public blockchain network with ease. Such infrastructure also enables network designers with a variety of flexibility in form of ciphering, ordering, encryption, etc, thus facilitating universal design.
  2. Efficient processing: Hyperledger Fabric targets high-throughput transaction processing and allows developers to perform multiple transactions from a single node while assigning network roles by node types.
  3. Privacy and Confidentiality: In an enterprise blockchain, one or more than one organizations can be a network participant, and hence data privacy and confidentiality become a crucial concern. To facilitate the same, Hyperledger Fabric enables confidential factual information to co-exist in a given network by supporting features like a restricted messaging path for specific network participants.?
  4. Chaincode feature (or Smart Contracts): Chaincode, also referred to as Smart Contracts, is software that is used to read and update the data on the blockchain ledger. It enforces business rules and is of mainly two types namely Orderer Chaincode and Core Chaincode.???
  5. Identity management: Hyperledger Fabric supports identity management across enterprise networks to enable permissioned blockchain functionality. This feature manages user IDs, facilitates user authentication, and also enables developers to limit network-specific operations through access control lists.?

Hyperledger Fabric Architecture

After discussing the core characteristics of Hyperledger Fabric, it's time to take a quick look at its architecture and respective vital components.

Node:

Any participating computing device in a given network is referred to as a "node" in Hyperledger Fabric. They are grouped and interact with each other under the control of protocols set by logical entities. They are mainly of three types namely Client node, Peer node, and Orderer or Ordering-Service node.?

  • Client Node- It is a node that acts on behalf of the end user and submits transaction invocation to the endorsers. Also, such nodes interact with both peers and ordering service nodes.?
  • Peer Node- As we know Hyperledger Fabric supports peer-to-peer networks and peers are nothing but a type of node that stores the copy and the state of the ledger. Besides, peers receive blocks as ordered state updates and can have special endorser roles. They are mainly of three types i.e., Endorsing Peers, Committing Peers, Leading Peers, and Anchor Peers.?
  • Orderer Node- As its name suggests, such nodes are responsible for ordering transactions. They deliver the endorsed transactions to network peers and maintain the consistency of the given blockchain.?

Ordering mechanism:

Hyperledger Fabric consists of three ordering mechanisms namely SOLO, Kafka, and SBFT (Simplified Byzantine Fault Tolerance).?

  • SOLO- The SOLO implementation of the ordering mechanism in Hyperledger Fabric involves a single ordering node and transactions are formed in an orderly chronological fashion.??
  • Kafka- The Kafka-based ordering mechanism utilizes Apache Kafka, an open-source stream processing platform, recommended mainly for production use. It uses the popular Publish-Subscribe model and provides crash fault-tolerant solutions to ordering.??
  • SBFT- This ordering mechanism supports both Byzantine Fault Tolerance and Crash Fault Tolerance. It simply implies that it can reach an agreement even in the existence of faulty or malicious nodes.?(I'll cover Byzantine Fault Tolerance in much detail in later articles. Stay tuned with us!)?

Fabric database:

Data in Hyperledger Fabric is stored in two forms, one in the state database and the second in the ledger databases. The former denotes the latest values of ledger assets. While the former stores periodical blocks, containing one more transaction having a read-write set.?

Note: Ledger is an immutable definite source of information and is a key concept in Hyperledger Fabric.

Smart Contract:

In Hyperledger Fabric, the execution of Smart Contracts is known as Chaincode. It can be written in Go, JavaScript, & Node JS, and defines the business rules in form of executable code.?It defines the transaction logic that controls the business lifecycle and also directs how nodes manipulate assets in the blockchain network.?

Consensus:

Consensus in Hyperledger Fabric involves relying on the backend service, known as the ordering service. It is divided into three phases:

1. Endorsement?

2. Ordering

3. Validation

Membership Service Provider (MSP):

MSP is a type of Hyperledger Fabric component that contains the peer's public key that plays the function of a middleman between participating organizations.?It is typically responsible for creating digital identities for peers/users of the organization.?

Takeaway

This article covered the fundamentals of Hyperledger, its framework, tools, and the core architecture of Hyperledger Fabric, along with its respective components.?Hyperledger Fabric provides transparency, traceability, and scalability by improving supply chain processes, along with reducing the risk of counterfeiting, maintaining data privacy, and more.?

要查看或添加评论,请登录

Spydra的更多文章

社区洞察

其他会员也浏览了