Byzantine Fault Tolerance (BFT)

After great community collaboration DYOR has rebranded into CryptoWiki.me 🥳 a moment to celebrate!

From now on all new information will be added within the CryptoWiki.mecommunity website! No longer over here. So be sure to move over to stay on top of new research developments!

Same content - better & cleaner experience 🤝

DYOR started out in 2015 on Fandom and has now grown to ~3500 pages on CryptoWiki.me 🤩

All the information that you can find in these pages is public knowledge with sources provided. The community is encouraged to add truthful and unbiased entries to further this body of work.

Follow @cryptowiki\_me on Twitter to be up to date on pages being created or edited.

* Explanation from this post:

*Byzantine Fault Tolerance (BFT) is highly technical in nature (like the other consensus algorithms presented); a good explanation can be found here. In general, the BFT consensus algorithms employed by cryptocurrency projects allow generals (validators) to each manage the state of a chain and share messages between each other to arrive at the correct transaction record and to ensure honesty. Again, this topic is fairly nuanced and further additional information regarding the problem and implementation details can be found here. BFT is notably implemented by Ripple (where validators are pre-selected by the Ripple foundation) and Stellar (where anyone can be a validator and trust is established by the community). BFT is advantageous because it presents scalability and low cost transactions, but DPoS introduces a component of centralisation.*

* For a comparison between PBFT, Tendermint, SBFT and HotStuff look here.

1. *PBFT. The gold standard for BFT SMR. Highly recommend to see this video of Barbara Liskov from 2001. Here is the PBFT project page.*
2. *Tendermint. A modern BFT algorithm that also uses peer-to-peer gossip protocol among nodes. Here is the github repository.*
3. *SBFT. A BFT system that builds on PBFT for better scalability and best-case latency. Here is a github repository that implements the SBFT protocol.*
4. *HotStuff. A new BFT protocol that provides both linearity and responsiveness. The recent LibraBFT is based on HotStuff.*

* From this post:

"*Well, Byzantine Fault Tolerance is the ability of a distributed computer network to function as desired and correctly reach a sufficient consensus despite malicious components (nodes) of the system failing or propagating incorrect information to other peers. The main objective is to defend against any catastrophic system failures by mitigating the influence that these malicious nodes may have on the correct function of the network. As a result, the right and correct consensus is reached by the honest nodes which are still in the system.*

*Circling back to the Byzantine Generals’ Problem, which is what set this system in motion, there have been many specifications and improvements made to the overall algorithm since the overarching problem has been studied and analyzed for years now. Practical Byzantine Fault Tolerance (pBFT) is one of these optimizations and was introduced by Miguel Castro and Barbara Liskov in an academic paper in 1999 titled “Practical Byzantine Fault Tolerance.” It aims to improve upon original BFT consensus mechanisms and has been implemented and enhanced in several modern distributed computer systems, including some popular blockchain platforms."*