The article focuses on discussing the following topics of Byzantine Generals Problem in Blockchain:
- What is Byzantine General’s Problem?
- Money and Byzantine General’s Problem
- How Bitcoin Solves the Byzantine General’s Problem?
- Byzantine Fault Tolerance (BFT)
- Byzantine General’s Problem in a Distributed System
- Byzantine General’s Problem Example
Let’s start discussing each of these topics in detail.
What is Byzantine General’s Problem?
In 1982, The Byzantine General’s Problem was invented by Leslie Lamport, Robert Shostak, and Marshall Pease. Byzantine Generals Problem is an impossibility result which means that the solution to this problem has not been found yet as well as helps us to understand the importance of blockchain. It is basically a game theory problem that provides a description of the extent to which decentralized parties experience difficulties in reaching consensus without any trusted central parties.
- The Byzantine army is divided into many battalions in this classic problem called the Byzantine General’s problem, with each division led by a general.
- The generals connect via messenger in order to agree to a joint plan of action in which all battalions coordinate and attack from all sides in order to achieve success.
- It is probable that traitors will try to sabotage their plan by intercepting or changing the messages.
- As a result, the purpose of this challenge is for all of the faithful commanders to reach an agreement without the imposters tampering with their plans.
Money and Byzantine General’s Problem
Money is one such commodity whose value should be same throughout the society, that is everyone should agree upon the value of a certain amount of money, despite all the differences therefore in the initial times, precious metals and rare goods were chosen as money because their value was seen equally throughout the society, but in some cases such as precious metals the purity of the metals could not be known for sure or checking the purity was an extremely tedious task which turned out to be very inefficient for the daily transactions, therefore it was decided upon to replace gold with a central party which would be highly trustable chosen by the people in the society to establish and maintain the system of money. But with time it was later realized that those central parties, how much-ever qualified were still not completely trustworthy as it was so simple for them to manipulate the data.
- Centralized systems do not address the Byzantine Generals problem, which requires that truth be verified in an explicitly transparent way, yet centralized systems give no transparency, increasing the likelihood of data corruption.
- They forgo transparency in order to attain efficiency easily and prefer to avoid dealing with the issue entirely.
- The fundamental issue of centralized systems, however, is that they are open to corruption by the central authority, which implies that the data can be manipulated by anyone who has control of the database itself because the centralized system concentrates all power on one central decision maker.
Therefore, Bitcoin was invented to make the system of money decentralized using blockchain to make money verifiable, counterfeit-resistant, trustless, and separate from a central agency.
How Bitcoin Solves the Byzantine General’s Problem?
In the Byzantine Generals Problem, the untampered agreement that all the loyal generals need to agree to is the blockchain. Blockchain is a public, distributed ledger that contains the records of all transactions. If all users of the Bitcoin network, known as nodes, could agree on which transactions occurred and in what order, they could verify the ownership and create a functioning, trustless money system without the need for a centralized authority. Due to its decentralized nature, blockchain relies heavily on a consensus technique to validate transactions. It is a peer-to-peer network that offers its users transparency as well as trust. Its distributed ledger is what sets it apart from other systems. Blockchain technology can be applied to any system that requires proper verification.
Proof Of Work: The network would have to be provable, counterfeit-resistant, and trust-free in order to solve the Byzantine General’s Problem. Bitcoin overcame the Byzantine General’s Problem by employing a Proof-of-Work technique to create a clear, objective regulation for the blockchain. Proof of work (PoW) is a method of adding fresh blocks of transactions to the blockchain of a cryptocurrency. In this scenario, the task consists of creating a hash (a long string of characters) that matches the desired hash for the current block.
- Counterfeit Resistant: Proof-of-Work requires network participants to present proof of their work in the form of a valid hash in order for their block, i.e. piece of information, to be regarded as valid. Proof-of-Work requires miners to expend significant amounts of energy and money in order to generate blocks, encouraging them to broadcast accurate information and so protecting the network. Proof-of-Work is one of the only ways for a decentralized network to agree on a single source of truth, which is essential for a monetary system. There can be no disagreement or tampering with the information on the blockchain network because the rules are objective. The ruleset defining which transactions are valid and which are invalid, as well as the system for choosing who can mint new bitcoin, are both objectives.
- Provable: Once a block is uploaded to the blockchain, it is incredibly difficult to erase, rendering Bitcoin’s history immutable. As a result, participants of the blockchain network may always agree on the state of the blockchain and all transactions inside it. Each node independently verifies whether blocks satisfy the Proof-of-Work criterion and whether transactions satisfy additional requirements.
- Trust-free: If any network member attempts to broadcast misleading information, all network nodes immediately detect it as objectively invalid and ignore it. Because each node on the Bitcoin network can verify every information on the network, there is no need to trust other network members, making Bitcoin a trustless system.
Byzantine Fault Tolerance (BFT)
The Byzantine Fault Tolerance was developed as inspiration in order to address the Byzantine General’s Problem. The Byzantine General’s Problem, a logical thought experiment where multiple generals must attack a city, is where the idea for BFT originated.
- Byzantine Fault Tolerance is one of the core characteristics of developing trustworthy blockchain rules or features is tolerance.
- When two-thirds of the network can agree or reach a consensus and the system still continues to operate properly, it is said to have BFT.
- Blockchain networks’ most popular consensus protocols, such as proof-of-work, proof-of-stake, and proof-of-authority, all have some BFT characteristics.
- In order to create a decentralized network, the BFT is essential.
The consensus method determines the precise network structure. For instance, BFT has a leader as well as peers who can and cannot validate.
In order to maintain the sequence of the Blockchain SC transactions and the consistency of the global state through local transaction replay, consensus messages must pass between the relevant peers.
More inventive approaches to designing BFT systems will be found and put into practice as more individuals and companies investigate distributed and decentralized systems. Systems that use BFT are also employed in sectors outside of blockchains, such as nuclear power, space exploration, and aviation.
Byzantine General’s Problem in a Distributed System
In order to address this issue, honest nodes (such as computers or other physical devices) must be able to establish an agreement in the presence of dishonest nodes.
- In the Byzantine agreement issue, an arbitrary processor initializes a single value that must be agreed upon, and all nonfaulty processes must agree on that value. Every processor has its own beginning value in the consensus issue, and all nonfaulty processors must agree on a single common value.
- The Byzantine army’s position can be seen in computer networks.
- The divisions can be viewed as computer nodes in the network, and the commanders as programs running a ledger that records transactions and events in the order that they occur. The ledgers are the same for all systems, and if any of them is changed, the other ledgers are updated as well if the changes are shown to be true, so all distributed ledgers should be in agreement.
Byzantine General’s Problem Example
A basic Byzantine fault is a digital signal that is stuck at “1/2,” i.e. a voltage that is anywhere between the voltages for a valid logical “0” and a valid logical “1.” Because these voltages are in the region of a gate’s transfer function’s maximum gain, little quantities of noise on the gate’s input become enormous amounts of noise on the gate’s output. This is due to the fact that “digital circuits are simply analog circuitry driven to extremes.”
This problem is solvable because, with a dominating input, even a Byzantine input has no output impact.
- An excellent composite example is the well-known 3-input majority logic “voter.”
- If one of the inputs is “1/2” and the other two are both 0 or both 1, the result is 0 or 1 (due to masking within the voter).
- When one of the inputs is “1/2” and the other two are different values, the output can be 0, “1/2,” or 1, depending on the precise gain and threshold voltages of the voter gates and the properties of the “1/2” signal.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses
are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!