Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: virtfund on September 18, 2014, 11:18:01 PM



Title: Explain to me the Byzantine Generals' Problem and how Bitcoin solves it.
Post by: virtfund on September 18, 2014, 11:18:01 PM
I'm a little confused as to how Bitcoin solves the Byzantine Generals' Problem. Please help!  ;D


Title: Re: Explain to me the Byzantine Generals' Problem and how Bitcoin solves it.
Post by: Skoupi on September 18, 2014, 11:32:05 PM
Since it's difficult for individuals to achieve concensus without a trusted third party, bitcoin uses the blockchain as the trusted 3rd party.
And blockchain can be trusted because it's difficult to change its entries.

It's a practical workaround of the problem by combining pow with the  blockchain. Not exactly a solution.
Still pretty elegant and genius.


Title: Re: Explain to me the Byzantine Generals' Problem and how Bitcoin solves it.
Post by: Verse on September 18, 2014, 11:57:21 PM
Have you read this? https://bitcointalk.org/oldSiteFiles/byzantine.html

tl;dr The Byzantine Generals' problem is a problem of agreement, where no one party can come to agreement with another without fear of misinformation. The longest blockchain (in terms of hashes to produce) requires at least 51% of the network. Therefore the majority of the network agrees on the content of that blockchain. In Bitcoin's case the blockchain contains transactions, which are Bitcoin. Anyone can easily verify the blockchain's parts, nobody can practically alter part of an existing blockchain without invalidating it, and nobody can practically create a substitute.

It's a practical workaround of the problem by combining pow with the  blockchain. Not exactly a solution.
The blockchain is an example of proof-of-work. It is a practical solution to the Byzantine Generals' problem because although it is possible to deceive network participants or cripple the network, it is prohibitively difficult.


Title: Re: Explain to me the Byzantine Generals' Problem and how Bitcoin solves it.
Post by: Gleb Gamow on September 19, 2014, 12:09:12 AM
See if this helps: http://www.powershow.com/view1/257b98-ZDc1Z/The_Byzantine_Generals_Problem_powerpoint_ppt_presentation


Title: Re: Explain to me the Byzantine Generals' Problem and how Bitcoin solves it.
Post by: HELP.org on September 19, 2014, 12:10:27 AM
A general has several commanders.  The general has to give an order to attack or retreat via messenger.  He knows a small percentage of the messengers are traitors and they will give the wrong order.  if a section of the troops were to attack when they are supposed to retreat they would be wiped out.  If the general simply gave the orders directly to each commander nothing can be done to stop the traitors from giving the wrong orders to portions of the troops.  Instead, each commander must send messengers to all the other commanders and the order is not "finalized" until each commander receives the same message from every other commander.  That way a small number of traitors cannot cause a false order to be relayed.  It takes extra work but that extra work circumvents a disaster.  It depends on the majority of the players to be honest (like Bitcoin miners).

Bitcoin is actually a variation on the Byzantine General's Problem.  For one thing you don't have to wait for each and every node to agree but it is the general idea.


Title: Re: Explain to me the Byzantine Generals' Problem and how Bitcoin solves it.
Post by: Gleb Gamow on September 19, 2014, 01:36:18 AM
Thanks to YouTube, it can now be explained in ~1 minute: https://www.youtube.com/watch?v=wRcNtS_XA2o

Or, go for the ~5 minute version: reXBT.com - Andreas M. Antonopoulos - L.A. Bitcoin Meetup - "The Network Effect" - Part 2 of 8 (https://www.youtube.com/watch?v=2yR-9Z7tRak) (something about his voice makes me able to listen to him all day)