Hyperledger Fabric
- Tanishq Wadhwani
- May 7, 2021
- 10 min read
Updated: May 20, 2021
Type: Distributed ledger software
Hyperledger Fabric is intended as a foundation for developing applications or solutions with a modular architecture. Hyperledger Fabric allows components, such as consensus and membership services, to be plug-and-play. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy.
Hyperledger Fabric, an open source project from the Linux Foundation, is the modular blockchain framework and de facto standard for enterprise blockchain platforms. Intended as a foundation for developing enterprise-grade applications and industry solutions, the open, modular architecture uses plug-and-play components to accommodate a wide range of use cases.
With more than 120,000 contributing organizations and more than 15,000 engineer contributors working together, Hyperledger Fabric offers a unique approach to consensus that enables performance at scale while also preserving the data privacy enterprises demand.
Hyperledger Fabric is an open, proven, enterprise-grade, distributed ledger platform. It has advanced privacy controls so only the data you want shared gets shared among the “permissioned” (known) network participants.
Smart contracts document the business processes you want to automate with self-executing terms between the parties written into lines of code. The code and the agreements contained therein exist across the distributed, decentralized blockchain network. Transactions are trackable and irreversible, creating trust between organizations. This enables businesses to make more informed decisions quicker — saving time, reducing costs, and reducing risks.
Permissioned network
Establish decentralized trust in a network of known participants rather than an open network of anonymous participants.
Confidential transactions
Expose only the data you want to share to the parties you want to share it with.
Pluggable architecture
Tailor the blockchain to industry needs with a pluggable architecture rather than a one-size-fits-all approach.
Easy to get started
Program smart contracts in the languages your team works in today, instead of learning custom languages and architectures.
Hyperledger is an enterprise-grade, open-source distributed ledger framework launched by the Linux Foundation in December 2015.
Fabric is a highly-modular, decentralized ledger technology (DLT) platform that was designed by IBM for industrial enterprise use.
Because Hyperledger Fabric is private and requires permission to access, businesses can segregate information (like prices), plus transactions can be sped up because the number of nodes on the network is reduced.
Fabric 2.0 was released in January 2020. The main features of this version are faster transactions, updated smart contract technology, and streamlined data sharing.
Hyperledger Fabric is a modular blockchain framework that acts as a foundation for developing blockchain-based products, solutions, and applications using plug-and-play components that are aimed for use within private enterprises.
Hyperledger Fabric was initiated by Digital Asset and IBM and has now emerged as a collaborative cross-industry venture, which is currently being hosted by the Linux Foundation. Among the several Hyperledger projects, Fabric was the first one to exit the “incubation” stage and achieve the “active” stage in March 2017.
Traditional blockchain networks can’t support private transactions and confidential contracts that are of utmost importance for businesses. Hyperledger Fabric was designed in response to this as a modular, scalable and secure foundation for offering industrial blockchain solutions.
Hyperledger Fabric is the open-source engine for blockchain and takes care of the most important features for evaluating and using blockchain for business use cases.
Within private industrial networks, the verifiable identity of a participant is a primary requirement. Hyperledger Fabric supports memberships based on permission; all network participants must have known identities. Many business sectors, such as healthcare and finance, are bound by data protection regulations that mandate maintaining data about the various participants and their respective access to various data points. Fabric supports such permission-based membership.
Modular Architecture
The modular architecture of Hyperledger Fabric separates the transaction processing workflow into three different stages: smart contracts called chaincode that comprise the distributed logic processing and agreement of the system, transaction ordering, and transaction validation and commitment. This segregation offers multiple benefits:
A reduced number of trust levels and verification that keeps the network and processing clutter-free
Improved network scalability
Better overall performance
Additionally, Hyperledger Fabric’s support for plug-and-play of various components allows for easy reuse of existing features and ready-made integration of various modules. For instance, if a function already exists that verifies the participant’s identity, an enterprise-level network simply needs to plug and reuse this existing module instead of building the same function from scratch.
The participants on the network have three distinct roles:
Endorser
Committer
Consenter
In a nutshell, the transaction proposal is submitted to the endorser peer according to the predefined endorsement policy about the number of endorsers required. After sufficient endorsements by the endorser(s), a batch or block of transactions is delivered to the committer(s). Committers validate that the endorsement policy was followed and that there are no conflicting transactions. Once both the checks are made, the transactions are committed to the ledger.
Since only confirming instructions—such as signatures and read/write set—are sent across the network, the scalability and performance of the network is enhanced. Only endorsers and committers have access to the transaction, and security is improved with a fewer number of participants having access to key data points.
Suppose there's a manufacturer that wants to ship chocolates to a specific retailer or market of retailers (i.e., all US retailers) at a specific price but does not want to reveal that price in other markets (i.e., Chinese retailers).
Since the movement of the product may involve other parties, like customs, a shipping company, and a financing bank, the private price may be revealed to all involved parties if a basic version of blockchain technology is used to support this transaction.
Hyperledger Fabric addresses this issue by keeping private transactions private on the network; only participants who need to know are aware of the necessary details. Data partitioning on the blockchain allows specific data points to be accessible only to the parties who need to know.
The high-water mark of crypto-enthusiasm broke in 2018 after the collapse of the price of bitcoin (which hit its peak on December 17, 2017). Overoptimistic claims about the value of the new technology were replaced with skepticism, and related technologies, including Hyperledger, also suffered from this skepticism.
Hyperledger Fabric's Competitors
Hyperledger Fabric competes with other Hyperledger projects like Iroha, Indy, and Sawtooth. It also competes with R3's Corda, which is also a private, permission-based DLT.
Blockchain service firm Chainstack published a paper in January 20201 that shows development in Corda has been historically higher than development in Fabric, though Fabric development passed Corda's in Q3 2019 when Fabric switched to GitHub.
The Chainstack report shows that while there are three times as many developers working on Fabric, Corda developers made more than two times as many code contributions, and Fabric developers push far less code per developer than Corda's developers.
Hyperledger Fabric Is Not Blockchain and Is Not Efficient
Several critiques of Hyperledger Fabric point out that a permission-based, private blockchain with Hyperledger Fabric's features is not a blockchain, and current non-blockchain technologies are far less expensive and deliver the same amount of security. Cointelegraph's Stuart Popejoy put the case like this:
Fabric’s architecture is far more complex than any blockchain platform while also being less secure against tampering and attacks. You would think that a “private” blockchain would at least offer scalability and performance, but Fabric fails here as well. Simply put, pilots built on Fabric will face a complex and insecure deployment that won’t be able to scale with their businesses. 2
Hyperledger Fabric has also been critiqued for lacking resiliency. A team of researchers from the Sorbonne in Paris and CSIRO - Data61, Australia's national science agency, found that significant network delays reduced the reliability of Fabric: "[B]y delaying block propagation, we demonstrated that Hyperledger Fabric does not provide sufficient consistency guarantees to be deployed in critical environments."3
Hyperledger Fabric 2.0 Released in January 2020
In January of 2020, Hyperledger Fabric 2.0 was released to address some of the existing criticisms. According to Ron Miller at Techcrunch, "The biggest updates involve forcing agreement among the parties before any new data can be added to the ledger, known as decentralized governance of the smart contracts."
Although the update isn't a sea-change in the simplicity or applicability of Fabric, it does demonstrate that progress continues to be made in the cryptocurrency industry beyond the crypto-mania that occurred in 2018. Over the next five to ten years, it's expected that enterprise blockchain will undoubtedly find its proper use.
Hyperledger Fabric is an open source, permissioned blockchain framework, started in 2015 by The Linux Foundation. It is a modular, general-purpose framework that offers unique identity management and access control features, which make it suitable for a variety of industry applications such as track-and-trace of supply chains, trade finance, loyalty and rewards, as well as clearing and settlement of financial assets.
Open Source
Hyperledger Fabric platform is an open source blockchain framework hosted by The Linux Foundation. It has an active and growing community of developers.
Permissioned
Fabric networks are permissioned, meaning all participating member’s identities are known and authenticated. This benefit is particularly useful in industries including healthcare, supply chain, banking, and insurance where data cannot be exposed to unknown entities. For example, an insurance company on a Hyperledger Fabric blockchain network can share customer’s claim data with permissioned parties to maintain customer privacy.
Governance and Access Control
Fabric networks consist of channels, which are a private “subnet” of communication between two or more specific network members, members on the network can transact in a private and confidential way. Each transaction on the blockchain network is executed on a channel, where each party must be authenticated and authorized to transact on that channel. This provides an additional layer of access control and is especially useful when members want to limit exposure of the data, for example when competitors are on the same network. Fabric also offers a Private Data Collection feature set, where access to given transactions on a channel can be limited to subset of participants.
Performance
Hyperledger Fabric is built to support enterprise-grade use cases, and can support quick transaction throughput from its consensus mechanism. Because Fabric is a permissioned blockchain framework, it does not need to solve for Byzantine Fault Tolerance which can cause slower performance when validating transactions on the network.
A Hyperledger Fabric network is comprised of unique organizations (or members) that interact with each other on the network. For example, an organization could be a bank in a network comprised of financial institutions or a shipping partner in a supply chain network. From a Fabric component perspective, each organization has a Fabric certificate authority and one or more peer nodes. A Fabric network also has an ordering service shared by all organizations in the network, and this component helps process transactions for the network. We will share more details about each of these concepts and components below:
An organization in a network is defined by a root certificate specific to that organization. Users and other components (like peer nodes – see below) in that organization are also identified by certificates, and these certificates are derived from this root certificate, ensuring other organizations in the network can relate a user to their organization. These certificates also specify the permissions for each entity on the network, like read-only versus full access on a channel.
A root certificate for an organization is stored in the Fabric certificate authority (CA). The Fabric CA also issues certificates for users in an organization and handles other related operations. An enterprise-grade Fabric CA utilizes a variety of components and can deployed in a variety of ways using a Hardware Security Module (HSM) for root certificate protection.
An organization also creates one or more peer nodes as components to carry out operations on behalf of that organization. Specifically, a peer node endorses transactions proposed on the network, stores and executes smart contract code (known as chaincode in Fabric), and stores a local copy of the ledger for access. Fabric clients typically interact with peer nodes to read the ledger, add new chaincode to the network, or propose a new transaction. A peer node typically runs on its own computer, like an Amazon EC2 instance.
Finally, a Fabric network also includes of an ordering service shared by all members of the network. The ordering service makes sure new transactions on the network are properly ordered in new blocks and have the proper endorsements. The ordering service then broadcasts a new block of transactions to peer nodes in each organization. Peer nodes update their local copy of the ledger with this new block.
Hyperledger Fabric Transaction Flow
1. The transaction flow begins when a client application sends a transaction proposal to peers in each organization for endorsement.
2. The peers verify the submitting client’s identity and authority to submit the transaction. Next, they simulate the outcome of the proposed transaction and if it matches what was expected, it sends an endorsement signature back to the client.
3. The client collects endorsements from peers, and once it receives the proper number of endorsements defined in the endorsement policy, it sends the transaction to the ordering service.
4. Lastly, the ordering service checks to see if the transaction has the proper number of endorsements to satisfy the endorsement policy. It then chronologically orders and packages the approved transactions into blocks, and sends these blocks to peer nodes in each organization. Peer nodes receive new blocks of transactions from the ordering service, and then do a final validation for transactions in that block. Once this is complete, the new block is added to the ledger and the state of the ledger is updated. The new transactions are now committed.
Industry Use Cases for Hyperledger Fabric
Supply Chain
Supply chains are global, distributed webs of suppliers, manufacturers, and retailers. Hyperledger Fabric networks can improve supply chain processes by increasing transparency and traceability of transactions within the network. On a Fabric network, companies with access to the ledger can view the same immutable data, which enforces accountability and reduces the risk for counterfeiting. In addition, production updates are added to the ledger in real time, which makes tracking provenance faster and simpler during events like product recalls or food contamination outbreaks.
Trading and Asset Transfer
Trading requires many organizations such as importers, exporters, banks, shipping companies, and customs departments, to work with one another. Using Hyperledger Fabric, financial and trading consortiums can easily create a blockchain network where all parties can transact and process trade-related paperwork electronically, without the need for a central trusted authority. Unlike other processes that require trade-related paperwork to go back and forth between the stakeholders, taking 5-10 days to complete, transactions in a Hyperledger Fabric network built using Managed Blockchain can process instantly.
Insurance
Insurance fraud costs the insurance industry billions of dollars a year, but with Hyperledger Fabric, insurance companies can reference transaction data stored on the ledger to identify duplicate or falsified claims. Blockchain can also make multi-party subrogation claims processing faster by using smart contracts to automate repayment from the at-fault party back to the insurance company. In addition, insurers can use Hyperledger Fabric to streamline Know Your Customer (KYC) processes by storing customer data on a distributed ledger and automating the verification of their identity documents with smart contracts.
References
Comments