What is the task of the Byzantine generals?
The task of the Byzantine generals is a logical experiment applicable to electronic distributed networks. Its purpose is to find a way to synchronize participants who are independent of each other.
The essence of the task:
"The armies of several generals (network nodes) are besieging the city. They can communicate with each other only by sending messengers (transactions). The key task is to agree on a common plan of attack or retreat (consensus). Some generals are traitors and want to interfere with the treaty in every possible way."
The first scientific article on this topic was published in 1982 by Leslie Lamport, Robert Shostak and Marshall Pease. The task is valid only for distributed systems where there is no central node trusted by the rest of the network participants. In the real world, such a node may be, for example, the central bank of a country responsible for issuing fiat currency, distributing it to commercial bank accounts.
Since cryptocurrencies are initially based on the principles of decentralization without a single governing body, solving this problem has become fundamental in the design of networks based on blockchain technology.
How did Satoshi Nakamoto solve the problem of the Byzantine generals?
In 2008, bitcoin creator Satoshi Nakamoto proposed a practical solution to the problem of the Byzantine generals. He developed the Bitcoin protocol and implemented the Proof-of-Work (PoW) consensus algorithm. This made it possible to eliminate the element of trust by establishing clear rules for reaching consensus (agreement) between nodes of the distributed bitcoin network (generals).
The PoW algorithm ensured the ability of each node to confirm that the other nodes performed their work correctly and complied with the contract. This is achieved through blockchain, cryptography, and economic incentives for miners to protect consensus from malicious activities.
When one of the nodes decides to do the "wrong job", all other participants will see it and will not allow unwanted activity to occur.
What consensus algorithms are used in cryptocurrencies?
In addition to Proof-of-Work, the most common and reliable solutions to the Byzantine generals problem are the Proof of Stake (PoS) and Byzantine Fault Tolerance (BFT) algorithms.
Proof of Stake (PoS) is the most popular version on the crypto market. The essence of the mechanism is that instead of miners, as in PoW, network management was given to the owners of the native coin. The main advantage of this approach is low energy consumption compared to PoW.
Byzantine Fault Tolerance (BFT) is designed for scaling PoS-blockchain networks. Unlike the previous ones, BFT uses collective decision-making in reaching consensus. Nodes send transactions to each other until all nodes come to the same result.
There are many modifications and hybrid algorithms on the market. One of these is Tendermint, which is the basis of the Cosmos blockchain, where Delegated Proof—of-Stake (DPoS) and BFT are used simultaneously. And, for example, Solana uses DPoS and the implementation of the BFT — Practical Byzantine Fault Tolerance (pBFT) consensus algorithm.
Source: 101 BlockchainsIn addition to these algorithms, more than a dozen consensus options are used in cryptocurrencies. Let's list some of them:
Leased Proof of Stake (LPoS) is another type of PoS where users can participate in block generation by leasing tokens to "main" nodes. This consensus is applied in the Waves blockchain;Proof of Elapsed Time (PoET) — proof of elapsed time. A modification of PoW that uses CPU power. The principles of the fair lottery algorithm are laid down here, where a validator is randomly selected in proportion to the resources invested. Used in Hyperledger solutions;Delegated Byzantine Fault Tolerance (DBFT) is a modification of two algorithms at once: PBFT and DPoS. This option of reaching consensus is used in the NEO blockchain;Directed Acyclic Graphs (DAG) is a directed acyclic graph. This is not a consensus, but an alternative technology to the blockchain. The DAG consists of circles and lines, not blocks, and looks like a graph. Consensus algorithms in such networks can be used as usual, but the way information is recorded is radically different. One of these hybrids is Hashgraph;Proof of Activity (POA) — proof of activity. It uses a hybrid mechanism based on PoW and PoS. The most famous representative is Decred;Proof of Importance (Pol) — the principles of the rating system lie in the proof of importance. The higher the conditional rating of the validator, the more likely it is to find blocks. The NEM network brought fame to this type of consensus;Proof of Capacity (PoC) — proof of capacity. Uses hard disk space instead of computing resources. Consensus is applied in the Chia and BitTorent networks;Proof-of-Personhood (PoP) — proof of identity. It uses mechanisms to confirm "humanity", ensuring that each participant in the project receives an equal vote and a share of the reward. The flagship is the Worldcoin cryptocurrency.