Byzantine Fault Tolerance

Byzantine Fault Tolerance (BFT) being the blanket term for any mitigating strategies

Practical Byzantine Fault Tolerance (pBFT)
Definition
  • Byzantine Fault Tolerance (BFT) is the property of a computer system that allows it to reach consensus regardless of the failure of some of its components.
  • When a distributed network reaches consensus even with nodes failing to respond or responding with wrong information (i.e. faulty nodes), it has Byzantine Fault Tolerance (BFT). BFT ensures that a distributed network can continue to work even with faulty nodes, as the consensus is a result of collective decision-making.
  • Failures in a Byzantine sense are:
    • Fail-stop failures: the node fails and stops operating.
    • Arbitrary node failures: the node fails to return a result, responds with an incorrect result deliberately or not, or responds with a result different from other results in the network.
  • The term BFT is derived from the Byzantine Generals Problem.
Proof of Work (PoW)

Proof of Work (PoW)

  • Bitcoin has BFT built into its protocol. PoW solves the Byzantine Generals Problem as it achieves a majority agreement without any central authority, in spite of the presence of unknown/potentially untrustworthy parties and despite the network not being instantaneous.
Proof-of-Work