{"id":37987,"date":"2024-05-03T17:00:00","date_gmt":"2024-05-03T14:00:00","guid":{"rendered":"https:\/\/forklog.com\/en\/?p=37987"},"modified":"2025-08-30T00:16:06","modified_gmt":"2025-08-29T21:16:06","slug":"how-various-protocols-tackle-the-byzantine-generals-problem","status":"publish","type":"post","link":"https:\/\/forklog.com\/en\/how-various-protocols-tackle-the-byzantine-generals-problem\/","title":{"rendered":"How various protocols tackle the Byzantine Generals Problem"},"content":{"rendered":"<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What is the Byzantine Generals Problem?<\/h2>\n<p>The Byzantine Generals Problem is a thought experiment applied to electronic distributed networks. It seeks a way to synchronise independent participants.<\/p>\n<p>The set-up:<\/p>\n<p><em>\u00abArmies of several generals (network nodes) are besieging a city. They can communicate only by sending messengers (transactions). The key task is to agree on a common plan to attack or retreat (consensus). Some generals are traitors and will try in every way to thwart the agreement\u00bb.<\/em><\/p>\n<p>The first academic paper on the topic in 1982 was <a href=\"https:\/\/lamport.azurewebsites.net\/pubs\/byz.pdf\" target=\"_blank\" rel=\"noopener\" title=\"\">published<\/a> by Leslie Lamport, Robert Shostak and Marshall Pease. The problem applies only to distributed systems without a central node trusted by the rest of the network. In the real world such a node could be, for example, a country\u2019s central bank, which issues fiat currency and allocates it to commercial banks\u2019 accounts.<\/p>\n<p>Because cryptocurrencies are built on decentralised principles without a single governing authority, solving this problem became foundational to the design of blockchain-based networks.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">How did Satoshi Nakamoto solve the Byzantine Generals Problem?<\/h2>\n<p>In 2008 the creator of Bitcoin, <a href=\"https:\/\/forklog.com\/en\/news\/who-is-satoshi-nakamoto\">Satoshi Nakamoto<\/a>, proposed a practical solution to the Byzantine Generals Problem. He devised the Bitcoin protocol and implemented the <a href=\"https:\/\/forklog.com\/en\/news\/what-is-the-proof-of-work-pow-algorithm\">Proof-of-Work (PoW)<\/a> consensus algorithm. This removed the need for trust by setting clear rules for achieving consensus (agreement) among Bitcoin\u2019s distributed nodes (the generals).<\/p>\n<p>The PoW algorithm allows each node to verify that others have done the work correctly and are abiding by the agreement. This is achieved through the blockchain, cryptography and economic incentives for miners, which protect consensus from malicious behaviour.<\/p>\n<p>If a node decides to perform the \u201cwrong work\u201d, other participants will see it and will not allow the unwanted activity to proceed.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">Which consensus algorithms do cryptocurrencies use?<\/h2>\n<p>Beyond Proof-of-Work, the most common and reliable solutions to the Byzantine Generals Problem are Proof of Stake (PoS) and Byzantine Fault Tolerance (BFT).<\/p>\n<p><a href=\"https:\/\/forklog.com\/en\/news\/proof-of-stake-how-it-works-and-why-it-is-so-popular\">Proof of Stake (PoS)<\/a> is the most popular version in the crypto market. Instead of miners, as in PoW, control of the network is given to holders of the native coin. The main advantage is far lower energy consumption compared with PoW.<\/p>\n<p>Byzantine Fault Tolerance (BFT) is designed to scale PoS blockchain networks. Unlike the previous approach, BFT relies on collective decision-making in reaching consensus. Nodes send transactions to one another until two-thirds of all nodes arrive at the same result.<\/p>\n<p>There are many modifications and hybrid algorithms. One is Tendermint, which underpins the <a href=\"https:\/\/forklog.com\/en\/news\/what-is-cosmos-atom\">Cosmos<\/a> blockchain, where Delegated Proof-of-Stake (DPoS) and BFT are used together. For example, <a href=\"https:\/\/forklog.com\/en\/news\/what-is-solana-sol\">Solana<\/a> uses DPoS and a BFT implementation\u2014Practical Byzantine Fault Tolerance (pBFT).<\/p>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-eu.googleusercontent.com\/mhwIhsBIs8k75gdc3kWK3WrORU_-S5ne2wlyzLy_TkFsdXDPL_SKEQaQAtZ5Qk4bxegDPCOJWg8HuFWyojYvseRM8NH8WV9zABNFevKedDcjDldGbU6Jy2O4pMQdHs4katdB7Ua6mP8jasjqb2gmy7o\" alt=\"How different protocols solve the Byzantine Generals Problem\"\/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/101blockchains.com\/consensus-algorithms-blockchain\/\">Source:<\/a> 101 Blockchains<\/figcaption><\/figure>\n<p>Beyond these algorithms, cryptocurrencies use more than a dozen other consensus variants. Some include:<\/p>\n<ul class=\"wp-block-list\">\n<li>Leased Proof of Stake (LPoS) \u2014 another PoS variant in which users can participate in block generation by leasing tokens to \u201cmain\u201d nodes. This consensus is used in the Waves blockchain;<\/li>\n<li>Proof of Elapsed Time (PoET) \u2014 a modification of PoW that uses CPU resources. It builds on a fair-lottery algorithm in which a validator is chosen at random in proportion to resources committed. Used in Hyperledger solutions;<\/li>\n<li>Delegated Byzantine Fault Tolerance (DBFT) \u2014 a modification of two algorithms at once: PBFT and DPoS. This consensus variant is used in the NEO blockchain;<\/li>\n<li>Directed Acyclic Graphs (DAG) \u2014 not a consensus mechanism but an alternative to blockchains. A DAG consists of circles and lines rather than blocks and looks like a graph. Consensus algorithms in such networks can be the familiar ones, but the way information is recorded is fundamentally different. One such hybrid is <a href=\"https:\/\/forklog.com\/en\/news\/what-is-hedera-hashgraph-hbar\">Hashgraph<\/a>;<\/li>\n<li>Proof of Activity (POA) \u2014 a hybrid mechanism based on PoW and PoS. The best-known example is Decred;<\/li>\n<li>Proof of Importance (Pol) \u2014 built on the principles of a ratings system. The higher a validator\u2019s notional rating, the greater the chance of finding blocks. This type of consensus was popularised by the NEM network;<\/li>\n<li>Proof of Capacity (PoC) \u2014 uses disk space instead of computing resources. The consensus is used in the <a href=\"https:\/\/forklog.com\/en\/news\/what-is-chia-network-chia\">Chia<\/a> and BitTorrent networks;<\/li>\n<li><a href=\"https:\/\/forklog.com\/en\/news\/what-is-proof-of-personhood-pop\">Proof-of-Personhood (PoP)<\/a> \u2014 proof of personhood. It uses mechanisms to confirm \u201chumanness\u201d, ensuring that each participant receives an equal vote and share of rewards. The flagship is the <a href=\"https:\/\/forklog.com\/en\/news\/what-is-worldcoin-and-how-do-you-get-wld\">Worldcoin<\/a> cryptocurrency.<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>How a near half\u2011century-old problem is solved today, thanks to Satoshi Nakamoto.<\/p>\n","protected":false},"author":1,"featured_media":37988,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"select":"1","news_style_id":"1","cryptorium_level":"1","_short_excerpt_text":"","creation_source":"","_metatest_mainpost_news_update":false,"footnotes":""},"categories":[2113],"tags":[2115],"class_list":["post-37987","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptorium","tag-101-technical-foundations"],"aioseo_notices":[],"amp_enabled":true,"views":"150","promo_type":"1","layout_type":"1","short_excerpt":"","is_update":"","_links":{"self":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/comments?post=37987"}],"version-history":[{"count":1,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37987\/revisions"}],"predecessor-version":[{"id":37989,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37987\/revisions\/37989"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media\/37988"}],"wp:attachment":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media?parent=37987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/categories?post=37987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/tags?post=37987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}