Reader small image

You're reading from  Blockchain with Hyperledger Fabric - Second Edition

Product typeBook
Published inNov 2020
PublisherPackt
ISBN-139781839218750
Edition2nd Edition
Concepts
Right arrow
Authors (6):
Nitin Gaur
Nitin Gaur
author image
Nitin Gaur

Nitin Gaur, is the director of IBM's Blockchain Labs, and an IBM Distinguished Engineer.
Read more about Nitin Gaur

Anthony O'Dowd
Anthony O'Dowd
author image
Anthony O'Dowd

Anthony O'Dowd is a Distinguished Engineer at IBM, focusing on Blockchain. He led IBM's contribution to the design and development of the new smart contract and application SDKs found in Hyperledger Fabric v2. Anthony has also made significant contributions to Hyperledger Fabric documentation and samples.
Read more about Anthony O'Dowd

Petr Novotny
Petr Novotny
author image
Petr Novotny

Petr Novotny is a research scientist at IBM Research, with an MSc from University College London and PhD from Imperial College London, where he was also a post-doctoral research associate.
Read more about Petr Novotny

Luc Desrosiers
Luc Desrosiers
author image
Luc Desrosiers

Luc Desrosiers is an IBM-certified IT architect with 20+ years of experience.
Read more about Luc Desrosiers

Venkatraman Ramakrishna
Venkatraman Ramakrishna
author image
Venkatraman Ramakrishna

Venkatraman Ramakrishna is an IBM researcher, with a BTech from IIT Kharagpur and PhD from UCLA.
Read more about Venkatraman Ramakrishna

Salman A. Baset
Salman A. Baset
author image
Salman A. Baset

Dr. Salman A. Baset is the CTO of security in IBM Blockchain Solutions.
Read more about Salman A. Baset

View More author details
Right arrow

Exploring Hyperledger Fabric

The focus of this chapter is the Hyperledger Fabric project—its components, design, reference architecture, and overall enterprise readiness. We will also discuss the broader aim of Linux Foundation-hosted Hyperledger projects and the importance of open source and open standards. The goal is to build an understanding of the diversity of various Hyperledger projects, and what frameworks and tools may be suitable for particular enterprise use cases and software consumption models. While the blockchain technology landscape is constantly in flux, Hyperledger projects represent a structure that supports a mature and peer-reviewed technology geared toward enterprise consumption and fueled by a diverse set of talent and community interests.

This chapter will cover the following topics:

  • Building on the foundations of open computing
  • Fundamentals of the Hyperledger project
  • Hyperledger frameworks, tools, and building blocks
  • ...

Building on the foundations of open computing

Open source projects, such as Linux and Java, have gained strength in mainstream businesses by serving as low-cost alternatives to commercial software. They provide capabilities that rival those of proprietary software, thanks to support from a large developer community. Popular open source projects can also accelerate open standards, the collective building blocks for products, by serving as a common implementation. Businesses and vendors using open standards free up development and services budgets for items that offer higher value and competitive advantage.

Open source is a part of the wider open computing movement, along with open standards and open architecture, as shown in the following diagram. Together, these initiatives enable integration and flexibility, and benefit customers by helping them avoid vendor lock-in.

open computing

Figure 2.1: Community innovation as a result of the open computing movement

Enterprises are...

Fundamentals of the Hyperledger project

To start building an understanding of Hyperledger, let's look at some of the key players and fundamental elements of the Hyperledger Fabric space.

The Linux Foundation

The Linux Foundation (LF) is a world leader in supporting open technology development, and it is highly esteemed in the developer community. The LF fosters partnerships that address some of the world's biggest challenges through open source computing. It has made enormous investments in open source projects since it was founded in 2000 and helped to build an ecosystem that paved the way for the technologies discussed in this book.

Hyperledger

Hyperledger is an open source project that came out of the LF and was created to help advance cross-industry blockchain technologies. It's a global open source collaboration involving leaders from numerous industries.

Open source and open standards

As noted previously, the open computing movement...

Hyperledger frameworks, tools, and building blocks

Now that we've looked at Hyperledger's foundations in the open computing movement, as well as its benefits for industry, let's talk about its frameworks, tools, and building blocks. A summary of the Hyperledger projects is shown in the following diagram:

Figure 2.2: Hyperledger frameworks (Source: Hyperledger.org, used under Creative Commons Attribution 3.0 Unported, https://creativecommons.org/licenses/by/3.0/)

In this section, we'll discuss each layer of the Hyperledger project, as illustrated in Figure 2.2, Distributed Ledgers, Libraries, and Tools, before considering some of the broader building blocks and concepts of Hyperledger Fabric.

Hyperledger distributed ledger frameworks

There are six blockchain frameworks, as follows:

  • Hyperledger Besu: This is a Java-based Ethereum Virtual Machine (EVM) client designed for use in private or public networks and for application...

Hyperledger Fabric component design

Let's discuss various Hyperledger Fabric components that facilitate the key blockchain components of the shared ledger, encryption, the trust system, and smart contracts. The components represent the Hyperledger Fabric infrastructure components and provide isolation from contract's development constructs. Chaincode or smart contract development details will be discussed in detail in a separate chapter.

The following diagram depicts the Hyperledger Fabric infrastructure components:

Figure 2.4: Hyperledger Fabric infrastructure components

Let's consider three key components before moving into the design discussion: the membership service, dedicated order nodes, and peers.

The membership service provides identity management to network participants:

  • Hyperledger Fabric CA is a certificate authority-based implementation of membership services, but you are not required to use it (that is, any X509-based PKI...

Hyperledger Fabric – the journey of a sample transaction

Now, let's look at the journey of a sample transaction with Hyperledger Fabric, as illustrated in the following diagram. This section will facilitate an understanding of the transaction processing protocol of Fabric:

Figure 2.7: Hyperledger Fabric walkthrough

Fabric introduces a newly designed blockchain, preserving the transaction processing architecture and aiming at a secure, scalable, resilient, modular, and confidential design. Hyperledger Fabric 2.0 supports the execution of distributed applications supporting enterprise-friendly programming models. The components in Hyperledger Fabric provide a modular design, optimally suited for a business network made of various enterprises. Hyperledger Fabric introduces a model based on three steps, an endorse-order-validate architecture, designed for the distributed execution of untrusted code in an untrusted environment. This separation not only allows...

Actors and components in a Hyperledger Fabric network

In this section we will explore the actors and their roles and responsibilities within a network. In the context of the actors we also look at the list of components of the network. We give a special focus to the role of the developer and the tasks the developer performs in the design of the Fabric-based solution.

Actors in a blockchain network

A blockchain is a network-based infrastructure where network-centric design, development, deployment, management, and support constructs apply. It is therefore vital to understand the various actors and their roles, shown in the following diagram and explained in the following text, that interact with the blockchain network for various purposes such as management, support, business use, regulation, and so on:

Figure 2.8: Actors in a blockchain network

Each actor has a role and entry point and defines a governance structure that aids in network governance, audit, and...

CAP theorem

In Chapter 1, Blockchain – An Enterprise and Industry Perspective, we introduced the CAP theorem in the context of general system properties. Formally, the CAP theorem as postulated by Eric Brewer in 2000 at ACM Symposium on Principles of Distributed Computing (PODC) (https://dl.acm.org/citation.cfm?id=343502) states that in a distributed data store it is impossible to guarantee more than any two of the following three properties: consistency (C), availability (A), and partition tolerance (P). A distributed data store thus can be characterized on the two properties it guarantees, namely CA, CP, or AP.

More specifically, the theorem is aimed at distributed systems deployed across unreliable networks (networks with faults and delays, such as the internet), leading to a partitioning of the system components. According to CAP, in these environments, the system design must focus on the balance between availability and consistency. For example, the...

New features covered in this book

The first edition of this book was published along with Fabric version 1.1. The following is an overview of the new features introduced between version 1.1 and the current version, 2.0:

  • Private data: Private data allows a subset of organizations participating in one ledger to keep some data private between themselves.
  • Service discovery: This helps client applications to dynamically discover configuration information about the network peers, cryptographic materials, endorsement policy, and other information needed to submit transactions to the network.
  • State-based endorsement: This allows the contract-level endorsement policy to be overridden by a policy for a specific key(s).
  • Pluggable system contracts: Developers can now develop own consensus models by implementing and deploying own system endorsement (ESCC) and validation (VSCC) contracts.
  • Identity Mixer: This is a new type of membership provider that provides...

Summary

We have learned about the general concepts that underpin blockchains and reviewed the blockchain frameworks, libraries, and tools currently in development by the LF. Fabric presents a modular and extensible implementation of these general concepts. This design helps us to develop and operate private networks that provide trust to attract new participants, as well as sustaining the confidence of founding and existing participants, all while maintaining business benefits and value. We have also learned about the CAP theorem, which underpins the potential of blockchains, and about the new features included in Fabric since version 1.1.

In the next chapter, we will introduce the notion of a business network and the various concepts of which business networks are composed, including participants, assets, and others.

You have been reading a chapter from
Blockchain with Hyperledger Fabric - Second Edition
Published in: Nov 2020Publisher: PacktISBN-13: 9781839218750
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (6)

author image
Nitin Gaur

Nitin Gaur, is the director of IBM's Blockchain Labs, and an IBM Distinguished Engineer.
Read more about Nitin Gaur

author image
Anthony O'Dowd

Anthony O'Dowd is a Distinguished Engineer at IBM, focusing on Blockchain. He led IBM's contribution to the design and development of the new smart contract and application SDKs found in Hyperledger Fabric v2. Anthony has also made significant contributions to Hyperledger Fabric documentation and samples.
Read more about Anthony O'Dowd

author image
Petr Novotny

Petr Novotny is a research scientist at IBM Research, with an MSc from University College London and PhD from Imperial College London, where he was also a post-doctoral research associate.
Read more about Petr Novotny

author image
Luc Desrosiers

Luc Desrosiers is an IBM-certified IT architect with 20+ years of experience.
Read more about Luc Desrosiers

author image
Venkatraman Ramakrishna

Venkatraman Ramakrishna is an IBM researcher, with a BTech from IIT Kharagpur and PhD from UCLA.
Read more about Venkatraman Ramakrishna

author image
Salman A. Baset

Dr. Salman A. Baset is the CTO of security in IBM Blockchain Solutions.
Read more about Salman A. Baset