The Byzantine Generals Problem

The Byzantine fault (or the Byzantine Generals Problem) is a well-known thought experiment made up of an allegory about three Byzantine generals, whose way of communication was the key to successfully attack a city.

See all articles from the Blockchain 101 series

The Byzantine Generals Problem

Decentralized blockchains provide many advantages — sovereignty, privacy, control, and transparency. However, having no central authority in place comes with one crucial obstacle that every decentralized network is facing — reaching consensus on the state of the ledger. When a new transaction is broadcast to the network, the nodes are responsible to make a decision:

  • “accept” the transaction, render it valid, and include it in the current ledger, or

  • “fail” the transaction (basically ignoring it).

The final decision is made when the majority agrees upon one option, thus reaching consensus.

But what if one of the actors tries to tamper with the state of the ledger? Or, what if the “majority” comprises of a single party or an individual? This dilemma is solved with the Byzantine Fault Tolerance algorithm.

The allegory

The story dates back to the late middle ages, the era of the Byzantine empire. Three army generals, who lead different parts of the Byzantine army, are planning to attack a city. To succeed, they must attack the city from different sides simultaneously and their main form of communication is a messenger. There is also a possibility, that one of the generals is a traitor and will intentionally send a misleading message to the other two generals. Therefore, they must find an efficient and viable mechanism to come to an agreement in such a manner that the traitor cannot affect the outcome and so that they do it all at the same time.

The pBFT algorithm

This dilemma was solved in 1999 by Castro and Liskov who demonstrated the pBFT (the practical Byzantine Fault Tolerance) algorithm. The main difference from the POW (the Proof-of-Work) mechanism, where all nodes are identical to each other, is that the pBFT assigns each node a specific role to achieve consensus and maintain the state of the ledger. By doing so, the pBFT (compared to the POW) can have faster transactions speed, is more energy efficient and less costly for the user. However, the pBFT also comes with its own drawbacks, the main one being the Sybil Attack, where a single adversary may create multiple nodes in the network, compromising its security.

Who currently uses it?

  • IBM’s Hyperfabric Ledger uses pBFT to provide its users with additional scalability.

  • Zilliqa, a well-known cryptocurrency, combines the POW and the pBFT algorithms to provide a higher transaction speed.


This article is a part of our Blockchain 101 seriesSee all articles or jump to:


 

Subscribe to our newsletter

Follow us on social media:

FacebookLinkedInTwitter | Medium | Telegram | YouTube

Individual portfolio management

Individual portfolio management

Our premium service, created for crypto startups and other high-net-worth investors. It offers tailor-made solutions with a range of investment strategies.

Solidum Prime crypto fund

Solidum Prime digital portfolio

Solidum Prime (SOPR) is the world’s first equal-weight digital portfolio on the ICONOMI platform. It offers an easy, fast, and secure solution for investing into multiple cryptocurrencies.