The following practical, concise definitions are helpful in understanding Byzantine fault tolerance:[3][4]
Byzantine fault
Any fault presenting different symptoms to different observers
Byzantine failure
The loss of a system service due to a Byzantine fault in systems that require consensus
There are several different kinds of *faults* and degrees of damage that could occur. Lets divide faults up into 3 categories:
1. Temporarily Halting Forward Progress
2. Permanently Halting Forward Progress
3. Corrupting Past Progress
Lets define the set of observers:
1. All full nodes are observers, this means that they serve the purpose of redundancy and irreversibility to a high degree (unlimited). This protects the network against corruption of past progress in a manner that Bitcoin can never guarantee due to the concept of the Last Irreversible Block.
2. All witness nodes are observes that are actively involved in the consensus process, in other words they are required to allow consensus to advance. If 33% of these nodes "fail" then all forward progress is contingent (potentially reversible) but generally speaking consensus is still reached so long as there is a 51% majority. Worst case, 49% of witnesses are corrupted (not just failed). This will simply keep consensus in a "contingent" state until stakeholders can vote in 67% of cooperating witnesses. Forward progress can be made at all times even if it is technically contingent.
If 67% of elected witnesses are corrupted then there are two options:
1. Consensus continues to advance and the elected witnesses censor transactions (or halt them all together) in which case forward progress is permanently halted.
2. If 99% of elected witnesses "fail" and stop producing blocks, consensus can still advance in a contingent state until stakeholders can elect new witnesses.
So lets compare this to Bitcoin:
1. If 99% of miners fail and stop producing blocks, consensus will "stop" (fall to 2 blocks per day)
2. Control can be purchased for a marginal increase on the profit associated with mining (not the revenue) and profit margins are constantly shrinking.
3. There are only 3 "generals" that matter in Bitcoin (the large pools) compared to 27 on BitShares
4. In any given set of 6 blocks there will be an average of less than 4 mining pools that confirmed it.
5. Transactions are never irreversible by-protocol, they can always be reversed with enough money.
So if you want to measure "fault tolerance" nothing compares to BitShares.