Byzantine Fault Tolerance (BFT)
Byzantine Fault Tolerance (BFT) is a trait of decentralized, permissionless systems which are capable of successfully identifying and rejecting dishonest or faulty information. Byzantine fault tolerant systems have successfully solved the Byzantine Generals Problem and are robust against sybil attacks.
In a decentralized, permissionless system, anyone can join the network and start broadcasting information. Without Byzantine Fault Tolerance, any member of a network could feed invalid information to a network and undermine the reliability of the network. In the context of Bitcoin, a node can easily join the network and start broadcasting blocks and transactions. For example, a node could broadcast two transactions spending the same bitcoin—a double spend. Thus, Bitcoin needs a way for nodes to determine the validity of data they receive from other nodes.
Bitcoin is Byzantine Fault Tolerant because every node can verify every transaction and block independently and in an objective way. If a node broadcasts invalid blocks or transactions, all other nodes will recognize and reject them, preventing invalid transactions from entering the blockchain. Bitcoin’s rules are objective because the validity of transactions and blocks is never ambiguous.