As many of you may already know, Hyperledger is a collaborative effort by multiple companies like IBM, Intel, American Express and others to build a reusable blockchain platform for the enterprises. There are quite a few projects being run under the Hyperledger umbrella, out of which Hyperledger Fabric and Hyperledger Composer are quite well known and mature. These 2 projects aim at making permissioned blockchain networks available to enterprises under the open source model.
What is a Permissioned Blockchain?
Blockchain at its root is a distributed ledger which stores a list of records called as blocks which are cryptographically linked and secured. The initial implementations of the blockchain technology were mainly cryptocurrencies which were public blockchain networks, for example, Bitcoin. Anybody can join their node to the bitcoin blockchain network and start mining. All the transactions are public and can be read by anyone. If you know a wallet address you can check the transactions performed by that wallet. This is less than ideal for businesses that want to use the blockchain technology but want to keep the transactions private. Hence permissioned blockchains were invented.
A permissioned blockchain provides an access control layer on top of the blockchain to prevent unauthorized access. Only the nodes which are approved by the member organizations controlling the blockchain can connect to the network. Also, users can be assigned roles and they can perform only those transactions which are authorized for their roles.
If a permissioned blockchain is deployed only within one organization and used by its various departments, it will be a private blockchain.
So let’s look at the Hyperledger based blockchain development options that are available to the developers.
Hyperledger Fabric is the framework that provides a ready to use blockchain platform with the following features:
- Permissioned blockchain and distributed ledger with pluggable consensus algorithm
- A pluggable transaction ordering system
- A pluggable membership service provider with cryptographic identitiesSmart contracts which can be written in general purpose programming languages such as Java, Go and Node.js
- A pluggable endorsement and validation policy which can be tweaked as per the need of different applications
- It doesn’t need a special cryptocurrency which eliminates costly mining requirements
performance and scalability
In short, Hyperledger Fabric provides a ready to use permissioned blockchain framework which can be deployed by enterprises to build distributed consensus-based applications which use smart contracts. However, since Hyperledger Fabric contracts are written with general purpose programming languages with Software Development Kits (SDKs), the process can be time consuming and requires a lot of technical validation. Hyperledger Composer is created to solve this problem.
The main aim of Hyperledger Composer to accelerate the development of the blockchain-based applications. It enables rapid prototyping and deployment of Business Network Applications (BNA). By default, Hyperledger Composer uses Hyperledger Fabric underneath. Hyperledger Composer provides following main components to build BNAs:
Hyperledger provides an easy-to-use Domain Modeling Language which allows non-programmers/business analysts to define:
Using these basic building blocks almost any business application can be modelled.
Access Control Language
Access Control Language provides declarative access controls to the Assets and Transactions defined using the Modelling Language.
Query Language allows accessing the data stored in the business network.
Composer CLI and Composer Rest Server
Composer provides a Node JS based CLI which can be used to manage the deployment of BNAs and the participant Identities. It also comes with a Rest Server which can connect to a BNA and expose the Business Model as a set of secured Restful APIs. This makes it very easy to incorporate the blockchain based application in regular web and mobile frontends.
Hyperledger composer also provides a Node.js based SDK which can be used to handle some complicated scenarios that can’t be handled with Modeling Language and the Query Language.
Hyperledger Composer Playground
Hyperledger Composer also provides an online playground which can be used to test the BNAs quickly.
As explained above, the main aim of Hyperledger Fabric and Hyperledger Composer projects is to allow enterprises to develop and deploy blockchain applications quickly.
So are you thinking about a Hyperledger based blockchain application to disrupt an industry, why not reach out to us and discuss it?
Pritam Barhate, with an experience of 11+ years in technology, heads Technology Innovation at Mobisoft Infotech. He has a rich experience in design and has been a consultant for a variety of industries and startups. At Mobisoft Infotech, he primarily focuses on technology resources and develops the most advanced solutions. Follow him @pritambarhate