Byzantine generals problem bitcoin miner

The Byzantine Generals Problem is a term etched from the computer science description of a situation where involved parties must agree on a single strategy in order to avoid complete failure, but where some of the involved parties are corrupt and disseminating false information or are otherwise unreliable. We have two armies, one on each side of the enemy city, and we need to attack at the same exact time. The city is strong enough to defend itself against one of our armies, but not strong enough to defend against two at the same time. And losing sucks. So, the generals of each army need to agree on the exact moment of when to attack. They communicate by sending a messenger back and forth through the enemy city.



We are searching data for your request:

Byzantine generals problem bitcoin miner

Databases of online projects:
Data from exhibitions and seminars:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Content:
WATCH RELATED VIDEO: BYZANTINE GENERALS PROBLEM - BITCOIN

What Is the Byzantine Generals Problem?


Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It only takes a minute to sign up. Connect and share knowledge within a single location that is structured and easy to search. If bitcoin blockchain solves byzantine general problem, can you give an example of how it solves it?

To simplify, the main thing a solution to this problem has to guarantee is that all honest generals honest miners agree on the same thing. Let's assume there are 10 miners in the Bitcoin blockchain and a new transaction comes in. This transaction noted tr1 is broadcasted among all miners. Each miner will starts to solve a puzzle just after he received his first transaction message. Some will receive tr1 first, others will receive tr2 first.

The puzzle is difficult enough that, on average, a solution will be found every 10 minutes. After 10 minutes, miner M solves the proof of work problem.

He broadcasts his solution to the 9 other miners and includes in there the transaction he received first. Upon receiving this solution, each miner adjusts his transaction to the new one received. They then all work on the next puzzle. After 1 hour, the chain has 6 blocks 6 puzzles solved. Each general can evaluate how much CPU was necessary to get solve 6 puzzles in 10 minutes. Each general knows then if the majority of the general contributed to building this chain.

If the answer is yes, then they agreed on the transaction inside the initial block of this chain. Now an interesting point: what if the transaction in the initially mined block is tr2?

The solution described here doesn't prevent from agreeing on a false transaction. In the context of the Byzantine Generals problem, it is sufficient for the generals to agree on a false plan as long as they agree. Imagine a time during the dark ages, where a pirate ship is under attack.

There are pirates aboard the pirate ship surrounded by six army ships of 50 warriors each, who've anchored, surrounding the pirate ship. Each army ship is commanded by a captain.

The warriors can easily overpower the pirates aboard the pirate ship. However, if they don't all attack simultaneously, there is a very real risk that the warriors will be outnumbered by the pirates and they'll go on to lose the battle. So, how can the captains all agree on the same time to attack the pirate ship?

These days, we'd simply need a quick group video-conference call, and the captains would have to agree to attack at hours 10 PM. However, back in the dark ages, things were a little more complicated: The attack message could only be passed on by a sailor on a small boat. He has to sail around each army ship, visiting each captain in turn to confirm. Any captain may be a traitor and in league with the pirates in the pirate ship. Captain 1 decides to attack at He sends his sailor out with the message attack to deliver to Captain 2.

Upon arrival, Captain 2 reads the message, notes the time of the attack, and sends a message that also says attack. He sends the sailor on to share the message with Captain 3. However, we have a problem. Captain 3 is a traitor. He wants the attack to fail. So, when he gets the message, he rips it up and replaces it with a new message that says attack 9 PM. The sailor continues unaware. Captain 4 now receives a message saying attack.

He notes the time, signs the message saying attack and sends this on to Captain 5, who then sends the same message to Captain 6. Now, the message has gone around everyone, but we have a problem. The dishonest captain has disrupted the result. We now have three captains 4, 5, and 6 with warriors attacking the pirate ship at Expecting others to join them, they instead get outnumbered and overpowered by the pirates.

The victorious pirates now stream out of the pirate ship and join forces with the treacherous Captain 3. Suddenly, the two remaining captains 1 and 2 have only warriors and find themselves fighting pirates plus 50 traitors. Unfortunately, the pirates and traitors win. Captain 1 wants to send the same message attack at However, this time, there are two new rules he must obey: He must spend 10 minutes preparing any new message for it to be valid He must include the history of every previous message in every new message So, let's see what happens this time.

As before, Captain 1 sends the message attack with the sailor on the boat. This time, however, it is different for Captain 2, because he knows two things for certain: The message must have taken 10 minutes to prepare There are no previous messages, so it must be the truth even if Captain 1 is a traitor and put in the wrong time, it doesn't matter; if the majority of captains followed this suggestion and went with a attack time, they would still outnumber those in the pirate ship and win the battle.

So, now it is time for Captain 2 to send a message. As required, he spends 10 minutes preparing the new message and he embeds Captain 1's message into his own. The sailor then sets off with this message now in fact, it is two messages chained together as the second has the first embedded within it. Now it gets to Captain 3. Remember, he's the traitor. So, what does he do? Last time, he changed the message to attack so that captains 4, 5, and 6 would attack early and get overpowered.

Now, however, he can't because, under the new rules, he has only 10 minutes to prepare a message for Captain 4. He has two options: 1. Cheat by changing the message to attack. To do this, he needs to a spend 10 minutes creating his message and then b spend an extra 2 x 10 minutes working to create replacement attack messages from Captains 1 and 2 to embed these into his message and carry out this 30 minutes of work within the next 10 minutes to avoid the other captains knowing that he's a traitor.

Admit defeat and prepare the attack message during those 10 minutes. In other words, every captain has got no more than 10 minutes to provide the next captain with something that would take more than 10 minutes to fake if they were trying to be dishonest.

If they can't deliver it within 10 minutes, everyone knows they're dishonest and ignores them, rendering their attempts to mislead others useless. Sign up to join this community. The best answers are voted up and rise to the top. Stack Overflow for Teams — Collaborate and share knowledge with a private group. Create a free Team What is Teams? Learn more. Ask Question. Asked 3 years, 11 months ago. Active 3 years, 2 months ago.

Viewed times. Improve this question. Minisha Minisha 4 4 bronze badges. Add a comment. Active Oldest Votes. Improve this answer. Aymen Aymen 1 1 silver badge 3 3 bronze badges. The Byzantine Generals' Problem Imagine a time during the dark ages, where a pirate ship is under attack. Losing strategy Captain 1 decides to attack at Winning strategy Captain 1 wants to send the same message attack at This time, however, it is different for Captain 2, because he knows two things for certain: The message must have taken 10 minutes to prepare There are no previous messages, so it must be the truth even if Captain 1 is a traitor and put in the wrong time, it doesn't matter; if the majority of captains followed this suggestion and went with a attack time, they would still outnumber those in the pirate ship and win the battle So, now it is time for Captain 2 to send a message.

Chirag Maliwal Chirag Maliwal 3 3 bronze badges. Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password.

Post as a guest Name. Email Required, but never shown. The Overflow Blog. Psychological safety is critical for high-performing teams. Using synthetic data to power machine learning while protecting user privacy.

Featured on Meta. New post summary designs on site home pages and greatest hits now; everywhere Related 2. Hot Network Questions.



What is the Byzantine generals’ problem and how Satoshi Nakamoto solved it with Bitcoin

Fault tolerance isn't new or unique to blockchain. It's found in almost everything in various forms and generally refers to how many bad things you can have in a system before it stops working. On blockchains and other decentralised networks, it generally refers to how many hostile or uncooperative nodes you can have before the network is compromised. Different types of blockchain will have different limits. The mathematical principles behind fault tolerance in computing systems were illustrated in the Byzantine Generals paper PDF , which has become a cornerstone work in cryptocurrency. It's also why the Ethereum network's current version is named Byzantium.

If the majority of the generals receive the message, the better is the outcome regardless of an attack or retreat. Consensus. What makes Bitcoin.

What is the Byzantine Generals’ Problem?

This problem has been the main stepping stone for every secure, decentralized voting system created in the past. Originally written about in a paper created by Leslie Lamport, Marshal Pease and Robert Shostak, it describes a situation where several involved parties need to vote and create a consensus about their future actions. The problematic part is the possible existence of rogue and malicious members who might vote in a way which could cause the entire system to fail. The problem can be practically described with three imaginary Byzantine generals preparing themselves to either attack or retreat from a siege an example with three generals is the easiest one to understand. Each general has an army of his own, and these armies are positioned at various sides of the besieged city. The city is strong enough to handle a single army attacking it, maybe even two of them at the same time; it will buckle if it has to defend against all of them. The generals need to communicate with each other and ensure that their armies attack simultaneously, as this is the only way the city can be taken. Every general will send a message to the other two, saying if and when he wants to attack.


How Consensus Algorithms Solve Issues with Bitcoin's Proof of Work

byzantine generals problem bitcoin miner

It used to be that bitcoin mining was a community affair, but the process of confirming bitcoin transactions now requires an immense amount of hashing power specific to the SHA mining algorithm. As a result, the amount of electricity required to process and verify transactions has reached an immense scale. In the early days, when the first users like the late Hal Finney began experimenting with bitcoin, users could just open the early bitcoin client and let their CPU whir away, creating bitcoins for fractions of a penny. By contrast, mining now requires tens of thousands of dollars in equipment, electricity and optional hosting expenses.

Byzantine fault tolerance, consensus problem, two generals problem for faulty communication, three generals problem for faulty nodes, consensus im possibility for m traitors and more than at most 3m generals.

The Byzantine Generals problem and Bitcoin’s solution

Solving this problem was one of the key developments in the creation of Bitcoin and, by extension, all other cryptocurrencies. The generals are a metaphor for nodes in a decentralized network. The core idea behind this thought experiment is this — How do you ensure that a peer-to-peer, distributed network with no central authority can make correct decisions, even if some of the nodes in it turn rogue? Image Credit. The lieutenants have surrounded the castle.


Easily understand cryptocurrency fault tolerance with Byzantine Generals

In the story of the two generals, two parties needed to achieve a consensus on a plan. However, their mode of communication was based on unreliable mediums—the messengers who had to cross the perilous mountains. Could the generals have used another strategy to coordinate their attack? The parable is based on an old math puzzle that was studied long before the existence of Bitcoin. The short answer to the question is that the generals would never be percent certain that the other general had agreed to participate in an attack, and this can be proven mathematically. A more generalized version of this puzzle, called the Byzantine Generals Problem, is the same as the preceding parable except more is at play than just two generals. With this generalized version of the puzzle, with more than two armies, we can posit not only that the messages are unreliable but also that one or both of the generals may be in cahoots with King Crowley, sending misleading messages to the other generals.

The entire purpose of solving the Byzantine generals problem lies in finding a Bitcoin mining is analogous to the peacock's tail.

In the beginning, a brief introduction to the problem that concerns the cryptocurrencies. A crypto valent network consists of computers that connect to each other using a distributed network architecture. This means that there are no main servers and each computer is equal to the other.


There is a serious problem that exists within distributed computing. The problem is called the Byzantine Generals Problem. In short, this is an issue where there are multiple systems that need to communicate within a network, where communication channels and messages cannot be completely trusted. Imagine you are a general of an army for the Byzantine Empire. There are several other armies all camped around an enemy city, and you are all deciding when to attack.

Proof-of-work, basically means this: Solving a problem must be extremely difficult, but once you solve it, proving that the solution is correct should be simple.

Author: Nicolas Tang Date: March 24, When it comes to making decisions, centralized systems are incredibly efficient. An order from the top trickles down through the ranks until it gets executed. There are no conflicting opinions when all of the power lies with a trusted third-party, but with great power comes great incentive for attackers. A centralized system has a single point of failure — its center. Blockchain technology is making economic systems more secure than ever before using decentralized networks and programmable money, but there have been and still are numerous challenges in its way. Blockchains are, by nature, decentralized, and getting everyone on the network to agree on certain decisions can be challenging.

The Byzantine Generals problem was first introduced in a computer science paper published in The problem discussed in the paper is that reliable computer systems must be able to function effectively in the presence of faulty components that may send conflicting information to different parts of the system. This issue is even more acute when we talk about decentralized computer networks.


Comments: 4
Thanks! Your comment will appear after verification.
Add a comment

  1. Tolkis

    Certainly. I join told all above. Let's discuss this question. Here or in PM.

  2. Johnn

    In the past years I was in Ibiza, so there I met a person whose style of presenting material is very similar to yours. But, unfortunately, that person is very far from the Internet.

  3. Yoshi

    It agrees, it is the excellent variant

  4. Montrelle

    Exactly. It is good thinking. I keep him.