I've been studying consensus algorithms and kind of got stuck.

if you check out Neo's explanations on its consensus algorithm, it says "Numerous protocols have been developed to solve the Byzantine Generals’ Problem. Hyperledger, for instance, uses Practical Byzantine Fault Tolerance in its Proof of Work algorithm. Neo, on the other hand, implements Delegated Byzantine Fault Tolerance to solve the Byzantine Generals’ Problem"

I clearly understood what Byzantine Generals' Problem, but I still don't understand what BFT means and what its relationship btw Bitcoin PoW.

It says "Hyperledger uses Practical Byzantine Fault Tolerance in its Proof of Work algorithm". Bitcoin also adopted PoW Algo, but I've never heard that Bitcoin is PBFT!

anyone can make a clear distinction btw BFT, PoW, PBFT? Thank you in advance. God bless.

source : https://steemit.com/neo/@basiccrypto/neo-s-consensus-protocol-how-delegated-byzantine-fault-tolerance-works


1 Answer 1


BFT is short for Byzantine Fault Tolerance. Any algorithm that can tolerate Byzantine faults is called Byzantine fault tolerant.

Byzantine faults are faults that are malicious (lying, deliberatly delaying honest nodes, etc). So if you have an algorithm that can tolerate these faults, it is called a BFT (byzantine fault tolerant). But not just that, any BFT algorithm (PoW, PoS , PBFT) solves the byzantine general's problem with some assumptions.

PBFT was the first practical BFT algorithm that can be used.

BFT relates to PoW in that PoW is also a BFT algorithm, because the Bitcoin network can contain malicious nodes that cannot be trusted, nonetheless, we can solve the byzantine generals' problem by PoW.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.