Why “asynchronous Byzantine Fault Tolerance” Is Soooo Important

To understand asynchronous Byzantine Fault Tolerance, or aBFT, let’s first consider the Byzantine General’s problem, a term inspired by the Byzantine army. Consider this:

Four generals commanding four separate groups of an army. They are surrounding a city with four walls. The goal is to attack the city — or retreat — in a coordinated manner, with consensus, with no misunderstanding.

A problem could arise if the leading general tells two of the other generals to attack and the other one to retreat (the understanding here is that all four groups need to attack (or retreat) together in order to succeed).

Now, think back before Telegram and Facebook, back to let’s say 1710…

If the leader general had a messenger, and he sent the messenger to all the other generals, the messenger could potentially A) be bribed by someone along the way, B) be bribed by another general, C) give the message to one general and then get killed on the way to the other generals…

Hopefully you get the point.

Consensus is a difficult problem to solve in this case.

Here is a graphic to illustrate.

General 1 is such a bad actor.

Reaching consensus is essential to distributed ledger technology.

Satoshi Nakamoto, the infamous — and invisible — creator of Bitcoin, proposed a solution to this problem many years ago in this email. The solution: proof-of-work. This is what Bitcoin and many other blockchain projects use as a consensus protocol.

Only problem is, proof-of-work takes a long time to work. Transaction times are becoming slower. And the general…consensus…is that it’s difficult to scale using the blockchain. The transaction fees were a concern at one point, too, although these are less of an issue at this point.

Hashgraph doesn’t use proof-of-work. It uses virtual-voting. Super important.

The inventor of the virtual-voting consensus algorithm for hashgraph — Dr. Leemon Baird — provides a pretty solid and objective explanation on the pros and cons of proof-of-work. It’s worth a watch:

Perhaps hashgraph will prove faster — and more secure — than blockchain (and all other DLT options on the market), with its virtual-voting consensus protocol.

Listen to Leemon explain virtual-voting:

It should be noted that the recent release of the much anticipated Lightning Network hopes to solve the speed problem of bitcoin, and the creators of Ethereum are hoping to work out their scaling problem, too. However, making bitcoin or ethereum transactions faster is just one part of the problem. The security is important as well.

This is where Byzantine Fault Tolerant comes in.

In this interview with Hidden Forces, Dr. Leemon Baird discusses BFT:

Byzantine fault tolerant (BFT) means that when you’re trying to figure out the order of transactions there comes a moment in time when you know that you have reached consensus. Ultimately, byzantine fault tolerant (BFT) means three things: 1) We are going to come to consensus; 2) We will know when we’ve come to consensus; and 3) We’re never wrong — you’re mathematically guaranteed that everybody else is going to reach the exact same consensus. That’s byzantine. BFT can be either asynchronous byzantine (aBFT) or partially asynchronous byzantine. Both are mathematically guaranteed, with the difference being the level of assumptions you’re making about your environment. aBFT [as in hashgraph] would assume evil actors exist in the community because they do. However, if you’re making faulty assumptions like there are no botnets in the world, it would be partially Asynchronous BFT — because botnets do exist in the real world. If you start a math proof by assuming there are no botnets in the world, then I’m not really sure what your proof means because you’re living in a fantasy world. Byzantine fault tolerant (BFT) is the conclusion. Asynchronous vs. partially asynchronous byzantine fault tolerant (aBFT) are the assumptions at the beginning. Unlike the other systems, hashgraph is proven to be fully asynchronous byzantine. This means it makes no assumptions about how fast messages are passed over the internet, making it resilient against DDoS attacks, botnets, and firewalls. Hashgraph is mathematically guaranteed to reach consensus and be secure as long as less than one-third of participants are malicious (which is something that must always be assumed for DLT).

Simply put, Hedera hashgraph assumes that there will be bad actors. Leemon Baird goes more in-depth in this Hidden Forces interview, including here where he discusses how bitcoin doesn’t even qualify as BFT: