What is the algorithm for Blockchain's Byzantine Fault Tolerance?
Actually the differences are more intricate than that. A problem here might be that the properties of "blockchains" are not very well specified and the term is used for a wide variety of things (going as far as simple databases) for marketing. So let's see what is out there.

When you are designing a fault tolerant system there are multiple properties to take into account. These include:

Crash or byzantine failures


  Should the system be designed to withstand nodes just stopping to do anything (i.e. no messages at all) or should it also consider nodes which exhibit arbitrary behaviour?


Eventual or strong consistency


  Should the system provide certainty, that some state is final and not revertible or are we okay with irreversibility with high probability?


Open or closed membership


  Is it known in advance (and to all nodes) who is participating in the protocol? E.g. a reliable database used by google has a defined number of nodes, which are known to all other nodes. In Bitcoin it is unclear even how many miners are participating in the consensus algorithm.


There are a few more things, but these are the most important ones. I am regularly contacted by people who want to use blockchain technology and the conversations always come down to figuring out what requirements regarding these three properties they have and then I recommend some system.

For the most well known ones the properties are:


Bitcoin / Ethereum: Byzantine failures, eventual consistency, open membership
RAFT / Paxos: Crash failures, strong consistency, closed membership
PBFT / Zyzzyva: Byzantine failures, strong consistency, closed membership


When choosing a system you try to take the easiest one possible, as the stronger models normally come with a large penalty in latency and throughput for transactions.

Crash failures are easier than byzantine failures. This is easy to show, as byzantine failures include crash failures. Most of the algorithms include some kind of voting. Having a majority is sufficient with crash failures to make decisions, while byzantine failing nodes might send different votes to different receivers. This might lead to two honest nodes seeing different results for the overall vote and getting out of sync.

Open membership is much more difficult than closed membership, as sibyl attacks, where an attacker generates many identities need to be counteracted by something like proof-of-work or proof-of-stake. This is the main new thing Bitcoin invented and that created the blockchain hype. A chain of blocks of transactions has existed before, as batched commits of transactions was a standard thing for at least 20 years before Bitcoin.

Applying this to the algorithms I listed:

The overhead of RAFT is small, PBFT and Zyzzyva already have a significant amount of communication overhead ( O(n^2) messages and a large number of signatures). Systems like Bitcoin and Ethereum have latencies in the order of minutes to hours (depending on your required level of security).