Bitcoin Forum
June 23, 2024, 08:53:44 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Explain to me the Byzantine Generals' Problem and how Bitcoin solves it.  (Read 3375 times)
virtfund (OP)
Sr. Member
****
Offline Offline

Activity: 672
Merit: 253



View Profile
September 18, 2014, 11:18:01 PM
 #1

I'm a little confused as to how Bitcoin solves the Byzantine Generals' Problem. Please help!  Grin
Skoupi
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250

Skoupi the Great


View Profile
September 18, 2014, 11:32:05 PM
 #2

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.
Verse
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
September 18, 2014, 11:57:21 PM
 #3

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.
Gleb Gamow
In memoriam
VIP
Legendary
*
Offline Offline

Activity: 1428
Merit: 1145



View Profile
September 19, 2014, 12:09:12 AM
 #4

See if this helps: http://www.powershow.com/view1/257b98-ZDc1Z/The_Byzantine_Generals_Problem_powerpoint_ppt_presentation
HELP.org
Hero Member
*****
Offline Offline

Activity: 510
Merit: 500



View Profile WWW
September 19, 2014, 12:10:27 AM
 #5

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.

Certified Bitcoin Professional
Bicoin.me - Bitcoin.me!
Gleb Gamow
In memoriam
VIP
Legendary
*
Offline Offline

Activity: 1428
Merit: 1145



View Profile
September 19, 2014, 01:36:18 AM
 #6

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 (something about his voice makes me able to listen to him all day)
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!