Everything You Must Know About Key
Blockchain Protocols

A blockchain framework implementation and one of the Hyperledger projects hosted by The Linux Foundation.

Global eventHyperledger Global Forum
ConsensusKafka, Solo (dummy consensus protocol)
Public / Private / PermissionedPrivate, Permissioned
Smart contractsYes
Smart contract language(s) supportedGo, node.js, Java
Transaction privacyYes, via channels
Transaction visibilityBusinesses can create multiple private channels. Through the DLT application, participants can commit confidential transactions over these channels.
Transaction orderingIn the case of Kafka, ordering nodes send to Kafka transactions and receive from Kafka transactions in the same order since Kafka presents an abstraction of a shared queue. Solo is the ordering mechanism most typically used by developers experimenting with Hyperledger Fabric networks and involves a single ordering node.

Fault tolerance

Kafka

The crash-tolerance mechanism comes into play by replication of the partitions among the multiple Kafka brokers. Thus, if one broker dies, due to a software or a hardware fault, data is preserved. What follows is, of course, a leader-follower system, wherein the leader owns a partition, and the follower has a replication of the same.

When the leader dies, the follower becomes the new leader. Kafka uses a fault-tolerant distributed streaming platform called Apache Kafka. It also enables distributed ordering service so that we can have multiple orderer nodes to avoid a single point of failure.

Solo

Solo mode requires all orderers to be up, and if one goes down the entire network goes down as well.

Performance

Kafka

The Kafka orderer can efficiently order high numbers of transactions. It is composed of multiple virtual nodes forming a so-called “Kafka cluster”.

This decentralization makes the Kafka orderer tolerant to the failure of single nodes (e.g. through power shortages, software failures). Therefore it is considered fault-tolerant. However, the Kafka orderer is not Byzantine-Fault-tolerant as it can be compromised by a malicious node in the network.

Solo

Not meant for production use.

Suggestions for use with consortiums

Kafka

Kafka is recommended for use if members primarily transact in private channels with only a few known participants rather than in the main channel involving more participants. In such a setup the risk that single nodes in private channels will act maliciously is minimized.

Also, if you need very high transaction throughput e.g. higher than 1000 transactions per second, a fault-tolerant consensus algorithm is preferable. However, scaling in a scenario with thousands of suppliers, each with their own subnet wanting to transact with a specific entity (e.g. SWIFT), becomes a challenge as this entity needs to be a member of each subnet.

Security is improved with the use of a multitude of endorsement, validity, and versioning checks that are available on Fabric. There are also ongoing identity verifications happening in all directions of the transaction flow.

Solo

Not meant for production use.

Industry use case

B2B contracts, supply chain, asset depository, asset interoperability.

Learn more

What’s next?

Support for Hyperledger Fabric will soon be ready. Head over to our Solution page to learn more about the protocols we already support, those on the roadmap, and numerous other features.

Keen to learn more about deploying, managing, and scaling your blockchain project?

Complete the form below, and our experts will get in touch with you.

Chainstack uses cookies to provide you with a secure and
personalized experience on its website. Learn more.