Hyperledger & Hyperledger Fabric
Hyperledger, also known as the Hyperledger project, is a marquee project of open source blockchains. It promotes cross-industry collaboration using business blockchain technologies, including distributed ledger frameworks, identity, access control and smart contracts, client libraries, GUI and utility libraries. Hyperledger project was established as a part of the Linux Foundation in early 2016 and it currently has more than 50 members.
The Linux Foundation divides the Hyperledger project into five sub-projects, namely: Fabric, Sawtooth, Indy, Burrow, and Iroha. According to Hyperledger Executive Director Brian Behlendorf “Every one of these projects started life outside of Hyperledger, first, by a team that had certain use cases in mind, each project must bring something unique to the open source group, and its technology must be applicable to other companies”.
This article analyses Fabric and its Architecture.
Fabric, Hosted by the Linux Foundation and initially contributed by Digital Asset and IBM, is the most active project till date. It is a ‘permissioned’ blockchain platform or an infrastructure for running smart contracts. By ‘permissioned’, it implies that all participants are identified to a degree and that it comes with decent policies to resolve issues. Fabric permits secure interactions among a group of identified participants who have a common goal, but do not have faith on each other. Banking on the peer identities, a permissioned blockchain that Hyperledger Fabric is, can use the traditional Byzantine Fault Tolerant (BFT) consensus in lieu of the Proof of Work (PoW) algorithms.
Traditional blockchain platforms, whether permission less or permissioned, follow a sequential execution methodology, also called the ‘order-execute’ architecture, through which the transactions on smart contracts are executed after consensus and all participants execute all contracts. It comes with a few disadvantages like limitation on the scalability, sequential execution of the transactions and endorsement by all peers.
Fabric was conceived to operate on a different architecture that revamps the way blockchains cope with security issues such as resource exhaustion or performance attacks, by supporting modular consensus protocols. It uses a new ‘execute-order-validate’ architecture, which allows the transaction to be executed before the blockchain reaches consensus. The distributed applications can be written in standard or general-purpose programing languages such as Google Go, Java, Node.js., without fundamental dependency on a native cryptocurrency. This is a significant advancement to existing blockchain platforms, which require code to be written in a domain-specific language that requires specific training
The ‘execute-order-validate’ architecture is radically different from the ‘order-execute’ archetype in that it splits the transaction flow into modular building blocks and includes elements of scalable replicated databases. The hybrid replication approach, pioneered by Fabric, combines the passive and active replication in the Byzantine model. While using the active replication to write the effects of transactions on the ledger state only after a consensus is reached, it also combines passive replication in the sense that every transaction is endorsed by a subset of peers only, allowing for parallel execution and non-determinism. Thus, the transactions don’t have to be designed all in one order, as long as they are consistent with each other and combine at the right time. Owing to the modular consensus, its implementation can be flexible and tailored to a specific deployment.
To summarize, Hyperledger Fabric, owing to its unique architecture, has the ability to provide customizable individual deployments with its unique network capabilities such as efficient processing, scalability, standard programming languages, enhanced privacy and a modular structure that makes it a suitable blockchain platform for businesses.