A common challenge with the public distributed blockchain ledger, like the one implemented for cryptocurrencies like Bitcoin was that the technologies were designed for public domain applications and were not always suited for enterprise grade applications where privacy is important, and the protection of sensitive business data and its access by the participants is crucial.
Permissioned blockchain with known identities
Linux Foundation founded the Hyper Ledger project in 2015. Hyper Ledger Fabric is one of the projects within Hyper Ledger that has been built ground up with the needs of business blockchain application in focus. Like many other blockchain projects, it has a ledger and uses smart contracts to allow the participants manage their transactions. However, it differs from other blockchain projects in that it is private and permissioned. Unlike public blockchains that require only “proof of work” and allow unknown identities to participate in the network, Hyperledger Fabric network requires enrolment through a trusted Membership Service Provider or MSP. Thus, all participants of a hyperledger fabric network have known identities. Data protection laws in many use cases in industries like finance and healthcare require the identification of network participants and who is accessing the specific data, and Hyperledger Fabric proves very handy for such situations.
Modular architectural approach
This distributed ledger solution is designed to support pluggable components of different components and accommodates the intricacies of economic ecosystems. The focus is on pursuing several approaches in parallel for synergies, flexibility and creating reusable components.
Modular architecture of Hyperledger Fabric allows for maximizing the confidentiality, resilience and flexibility of blockchain solutions. One of the key advantages of this modularity is that it enables network designers to plug in their preferred implementation for components that include consensus or encryption. This is advantageous in situations where a country has its own encryption standards.
Hyperledger Fabric architecture allows for the separation of transaction processing into three phases viz:
- Distributed logic processing and agreement or Chaincode
- Transaction ordering
- Transaction validation and commitment
This separation mechanism offers some key advantages to the network users like network scalability, performance is optimized and fewer levels of trust and validation are needed across node types. A hyper ledger fabric network does not require Prof of Work or Proof of Stake consensus mechanisms that are integral to public blockchains. On the contrary, participating organizations validate each other’s transactions and benefit from the application’s business value and trust involved. This also resolves scalability issue and makes a high transaction throughput possible.
Use of Chain Code in Hyperledger Fabric is intended to implement business logic based on assets. It can be used to implement rules in languages like Node.js and Go. Java for defining read rights to assets. Execution of chain code functions securely stores assets in the local ledger database. Once there is local persistence of changes on a node, the changes are proposed to the network and inserted into blockchain on being accepted by other participating businesses.
Hyperledger Composer and Composer Playground
Hyperledger Composer is one of the tools of this ecosystem. The framework introduces further concepts based on Fabric to provide nicely abstracted concepts. Composer makes it easy for the developers to implement and manage blockchain networks. In a Composer Playground, one can install, modify and test new business network from sample blockchain applications. It’s ideal for validating ideas with prototypes and getting a feel of the underlying Composer and Fabric model. Composer-Playground uses all managed configurations of the composer-cli and accesses the running Fabric network.
Universally usable among all Fabric variants
Hyperledger has different variants like Fabric, Burrow, Iroha, Sandwich and Indy, but out of all these, Fabric is most flexible and universally usable due to its strong modularization. Other approaches focus on the implementation of special cases in limited contexts.
Channels and Chain Code to implement privacy and functional isolation
Regulatory and compliance, confidentiality and data protection laws require Blockchain development companies to protect the privacy of certain data elements. Channels in blockchain allow for data access to only the participants that need to know by using Channels mechanism that allow for data partition on blockchain. Channels are used to implement areas of privacy. Entire chain code can be implemented on a single Channel that all participating organizations are allowed to join. However, Channels with restricted participant groups can be configured. Different chain codes can be deployed on each Channel to achieve functional isolation, and communication can be partially or completely encrypted with AES.
The open source and open governance Hyperledger Fabric bring innovative new capabilities, and is emerging as de-facto standard for enterprise blockchain platform. The technology is ushering in a new era of trust, accountability and transparency to allow the businesses hit the ground running on their blockchain journeys.