Learn Blockchain

Practical Byzantine Fault Tolerance (pBFT): Complete Guide For Beginners-2


  1. If nodes are less, then pBFT will operate efficiently. If an amount of nodes increases over time, then the high communication overhead will also be increased more and more rapidly.
  2. pBFT can be subjected to Sybil attacks. In Sybil attacks, one malicious node creates many pseudonymous identities in a system to gain benefits. The system can be subverted with this move. If there is a huge amount of nodes, then Sybil attacks will be difficult to perform. 

pBFT has issues regarding scalability. The communication overhead is a reason for the bad performance in the scalability of pBFT. The time will be required to respond to a client’s request due to the increase of nodes. pBFT is combined with other mechanisms for use.

Zilliqa is recognized as a scalable, secure, and public blockchain platform. It combines pBFT with PoW for its use. A blockchain framework implementation called Hyperledger Fabric is using a permissioned version of pBFT. A platform called Tendermint is using pBFT in combination with DPoS(Delegated Proof-of-Stake).

RBFT – Redundant BFT, ABsTRACTs, Q/U, HQ – Hybrid Quorum Protocol for BFT, Adapt, Zyzzyva – Speculative Byzantine Fault Tolerance, and Aardvark are variations which were proposed and employed so that the quality and performance of pBFT could be improved for specific use cases and conditions. 

Working of pBFT:

A client has to send a request to the leader node in the network. Broadcasting the request to backup nodes is a purpose of the leader node. Both the leader node and the backup nodes will work on the request. They will, later on, respond to the client. ‘m+1’ with the same output will be received by the client. M is defined as a maximum number of faulty nodes. 

*Every pBFT round will have different leader nodes. A protocol called view change protocol can substitute the leader node. If an extremely large number of honest nodes votes on the legitimacy of the current leading node, then this node will be replaced with the next leading node.

A practical Byzantine state machine replication can be provided by pBFT. If malicious nodes operate on a system, then the replication will be able to work further. In pBFT, there are two types of nodes viz., the leader node and backup nodes.

An eligible node from the secondary nodes is selected as the leader node. If the current leader node gets fail to respond in a given time, then a new node will be selected as the leader node from the secondary nodes. The new node will be eligible. All loyal nodes should reach a consensus with the help of a majority rule despite the state of a system is a goal of pBFT.

A condition states a number of malicious nodes should not be > or = to 1/3 of the total nodes of a particular system. The pBFT will operate on the condition. The system will be secure than ever due to the increase in nodes.

To read more about pBFT, click on the link. 

Post Disclaimer

This article is for informational purposes only. The information is provided by Practical Byzantine Fault Tolerance (pBFT): Complete Guide For Beginners-2 and while we endeavor to keep the information up to date and correct, we make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information, products, services, or related graphics contained on the post for any purpose. It is not an offer or solicitation of an offer to buy or sell, or a recommendation, endorsement, or sponsorship of any products, services, or companies. The Blockchain Cafe does not provide investment, tax, legal, or accounting advice. Neither the company nor the author is responsible, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with the use of or reliance on any content, goods or services mentioned in this article.

Show More

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button