Blockchain - Private Example: Hyperledger Fabric

Published:

Lesson: 11
Topic: Blockchain
Author: Ashley Rosilier


Hyperlecger Fabric (HLF) was introduced in 2016 and has become the most widely-used permissioned blockchain ecosystem.

Hyperledger Greenhouser

Hyperledger is an open-source community hosted by the Linux Foundation that is focused on developing frameworks, libraries and tools for enterprise-grade (i.e. permissioned) blockchain deployments. All of the Hyperledger projects are geared towards an enterprise environment in which most applications rely on an established level of trust between known parties, thereby eliminating the need for proof of work protocols and increasing the ability for blockchain prototocols to focus on other key issues such as privacey and performance.

There are a number of different projects currently under various stages of dveleopment in the Hyperledger “greenhouse,” one of which is Hyperledger Fabric. Fabric was one of the first projects brought under the Hyperledger umbrella and was based on work from Digital Asset, libconsensus from Blockstream and OpenBlockchain from IBM.

Modularity

Becauase HLF is a permissioned blockchain implementation, is it possible to simplify the consensus algoirthm used and create only a Crash Fault Tolerant system rather than the more traditional Byzantine Fault Tolerant system. This ability to plug in different consense protocols based on the application use case is a key characteristic of HFL.

In addition to pluggable consensus protocols, HLF is modular in other areas such as identity management, key management or cryptography. With this type of modular architecgure, HFL can be configured multiple ways based on the specific use case.

Chaincode

Smart contracts are implemented in HFL through “chaincode,” which creates a trusted distributed application and the ability to customize the blockchain for specific business needs.

There are some important differences in how HLF chaincode differs from Smart Contracts in other blockchain systems, such as Ethereum. First, HLF chaincode can be written in general-purpose programming languages such as Java or Go, rather than in domain-specific languages. This great reduces the skill gap for enterprises wanting to deploy distributed applications.

Another difference is the ordering of the transaction flow when executing smart contracts. In Ethereum and most other blockchain systems, the consensus is reached first before the smart contract is executed (called an order-execute architecture). The difficulty with this approach is that the application must be deterministic since it is unknown in which order contacts will end up being executed.

The transaction flow in HLF is instead broken into three steps: execute-order-validate. This eliminates the non-deterministic problem since consensus is not reached until after the contract has been executed. This has the additional effect of increasing overall performance because of the ability for parallel execution

References

[5] Honar Pajooh H, Rashid M, Alam F, Demidenko S. Hyperledger Fabric Blockchain for Securing the Edge Internet of Things. Sensors (Basel, Switzerland). 2021 Jan;21(2). DOI: 10.3390/s21020359.

[6] M. S. Ali, M. Vecchio, M. Pincheira, K. Dolui, F. Antonelli and M. H. Rehmani, “Applications of Blockchains in the Internet of Things: A Comprehensive Survey,” in IEEE Communications Surveys & Tutorials, vol. 21, no. 2, pp. 1676-1717, Secondquarter 2019, doi: 10.1109/COMST.2018.2886932.

[11] Li, X.; Jiang, P.; Chen, T.; Luo, X.; Wen, Q. A survey on the security of blockchain systems. Future Gener. Comput. Syst. 2020, 107, 841–853. https://doi.org/10.1016/j.future.2017.08.020

[14] Etheterum: Intorduction to dapps https://ethereum.org/en/developers/docs/dapps/