Hyperledger Fabric(hereafter referred to as “Fabric”) is an opensource blockchain platform led by IBM. When compared with other blockchains, Fabric has several distinctive differences. This article will explain the differences between typical blockchains and Fabric.
Utilizing blockchain for synchronizing distributed database
Features of typical blockchains
A transaction has considerable significance in typical blockchains. Typical blockchains collect transactions at a certain time interval to generate blocks. At this moment, the blockchain verifies the validity of each transaction, produces a hash value that will represent the transactions that will be stored in a single block, and produces a block hash with the hash values from previous blocks. Since all transactions and blocks are tightly linked, a change made in a single transaction will result in changes in values throughout the entire chain.
Features of Fabric
Hyperledger Fabric utilizes the blockchain to synchronize Level DB transactions used as state DB. Unlike typical blockchains that generate blocks at regular intervals and verifies transactions when blocks are generated, in Fabric the verification is performed by Endorser from an organization that participates in the chain before the transactions are propagated. Assuming that it will be used in a private environment, Fabric relies on Kafka to ensure the order of messages instead of using complex methods to generate blocks.
Consensus algorithm
Consensus algorithm of typical blockchains
As illustrated above, a typical blockchain has a very simple configuration. When a client generates, signs and forwards the transaction to a node, the node verifies the transaction and propagates it to the other nodes. The nodes collect transactions at regular intervals to generate blocks. Although the way in which blocks are generated differs by consensus algorithms, it is possible for blockchains designed for enterprise environments to process quickly by using a method such as *RAFT.
*RAFT consensus method is selecting a leader node out of the entire node and making the single node to generate blocks. In a closed environment, since only authorized nodes can generate blocks, the method results in better performance than the bitcoin’s POW method that requires consensus by multiple nodes.
Consensus algorithm of Fabric
The lower version of Fabric provided consensus algorithms such as PBFT. However, while the current version of Fabric can configure multiple channels, it does not provide a consensus algorithm like that of a typical blockchain. Instead, it utilizes the Endorsing process to verify transactions before propagating them and Message Queue to secure the correct order in order to ensure that only validated transactions are propagated.
Conclusion
Fabric is a blockchain for enterprises of which IBM led the development. Due to the distinctive features of Fabric that differs from the typical public blockchains people are usually aware of, it cannot be implemented with the same standards applied for the public blockchains.
Factors needed to be considered when implementing Fabric will be explained in the next episode.