I am new to BCT. My question is why do we need a consensus algorithm such as PBFT in a permission based Block chain network where the nodes are trusted nodes. Is it only to find a way when nodes fail or is there any other use case. Can anyone explain a scenario for requirement of PBFT in permission based BCT network.
1 Answers
First you must define the resilience in your system.
Do you expect Byzantine behavior from the nodes (i.e. nodes behaving arbitrarily, deviating from the protocol, and possibly intentionally harming the system)? Or you just need the system to be crash-fault tolerant? (i.e. nodes going to sleep, offline or disconnecting).
If you stick to the higher "Byzantine" resilience, you are most likely looking at a PBFT-variant consensus, assuming your system is permissioned (i.e. only nodes with the right credentials can participate in the consensus protocol). In most cases, the requirement for a "safe" and "live" consensus is 66% "honest" nodes. On the other hand, if you just assume crash-tolerance, then the requirement is 51% "online" nodes.
A real example is Hyperledger, where some of its frameworks are only crash-fault tolerant (e.g. Hyperledger Fabric) but others are also Byzantine-fault tolerant (e.g. Hyperledger Indy).

- 303
- 3
- 11
-
1Thanks nicely explained. – Satya Narayana Oct 10 '18 at 12:00