Indeed, when a client asks for creating a new blockchain application for their company or their network, a developer should consult and know different development options with them. Choosing a right framework and tools based on project requirements is essential for project’s successful delivery.
For those who are not familiar with Hyperledger project, reading Intro to Hyperledger Family and Hyperledger Blockchain Ecosystem article is a must.
We first introducing and reviewing Hyperledger framework layers, followed by discussing Hyperledger framework architecture. Lastly, we will review consensus layer under the Hyperledger project.
Hyperledger Framework Layers
Before we dive into how the Hyperledger framework works, it would be a good idea to have a basic understanding of the Hyperledger philosophy.
Hyperledger Design Philosophy In a Nutshell
To address the diversity of requirements from different industries, all Hyperledger projects must abide by the same design philosophy as follows:
- Modular: The Hyperledger architecture working group defines functional modules to address common issues, including policy, consensus, cryptography, identity, and smart contracts. This modular approach allows different developer communities to work independently, while developing extensible frameworks using reusable common building blocks.
- Highly Secure: It is essential to provide robust security for distributed ledgers in order to keep valuable data safe and enable enterprise blockchains to involve. Hyperledger projects follow the best practices, specified by The Linux Foundation's core infrastructure initiative, and support security by design. All Hyperledger algorithms and protocols are reviewed and audited by security experts and open source communities on a regular basis. More information can be found at https://www.coreinfrastructure.org/.
- Interoperable: In order to support interoperability and increased demand for distributed ledger technologies, most Hyperledger Smart Contracts and applications should be portable across different blockchain networks.
- Cryptocurrency-agnostic: Hyperledger projects are independent and agnostic of all tokens, altcoins and cryptocurrencies. However, Hyperledger will not issue its own cryptocurrencies. The purpose of Hyperledger is to build enterprise blockchain software, not to manage cryptocurrencies of any sort.
- APIs: Each Hyperledger project provides a rich set of APIs to support interoperability with other systems. These easy-to-use APIs help blockchain technologies expand across a variety of industries.
Refer to the official Hyperledger website and publications for more details as well as latest updates about these ideas.
Now let's take a look at how the Hyperledger framework works.
Hyperledger Framework Architecture Overview
The Hyperledger architecture working group has defined nine business blockchain components, as shown in the following table:
Among the nine components, the consensus layer and Smart Contract layer are fundamental to a business blockchain. In this article, we only review the consensus layer. Due to importance of Smart Contracts, we will discuss them in a separate article.
Hyperledger Consensus Layer Overview
To satisfy various business requirements, several different consensus mechanisms are being worked on within the Hyperledger community. There are two major types of consensus:
- Permissioned lottery-based algorithms: Including Proof of Elapsed Time (PoET) and Proof of Work (PoW)
- Permissioned voting-based algorithms: Including Redundant Byzantine Fault Tolerance (RBFT) and Paxos
For a list of consensus algorithms and types, their pros and cons, along with the corresponding Hyperledger framework, check out the following table:
After reading this article, readers have two paths to take: 1- Learn more about Hyperledger use cases and its business applications and 2- Learn more about Hyperledger application development. For the former, we recommend Blockchain Solution Architect course by High School Technology Services. However, for the latter, you should move on to understand Hyperledger Fabric Architecture and Components and learn how to develop Smart Contracts using Hyperledger technology. Taking Blockchain Hyperledger Development in 30 hours course by Coding Bootcamps school is also highly recommended. Lastly, as of this writing, Hyperledger Foundation offers the following two Hyperledger certifications: The Certified Hyperledger Fabric Administrator (CHFA) and The Certified Hyperledger Sawtooth Administrator (CHSA), both of which are highly regarded in the industry. Hyperledger Foundation is in the process of creating Hyperledger Developer certification program, which may be released in early or middle of 2020.