User avatar
AStormOfCrickets
Posts: 2
Joined: Fri Nov 06, 2015 1:56 pm

Satoshi's Byzantine Generals Solution (E-Mail)

Tue Dec 15, 2015 4:44 am

As I endeavor to understand Bitcoin and decentralized consensus, I keep coming back to an answer Satoshi gave about how the proof of work chain solves the Byzantine Generals problem. You can read the question and Satoshi's repsonse here.

Now I may not be the smartest cookie in the box but please correct me if I am misunderstanding anything here. Satoishi takes the Byzantine generals problem and recasts it in a wireless context. The problem, in this context, is that if the first 2 devices to broadcast an attack time do so at nearly the same time, delays in the network may cause some of the attackers to receive these attack times out of order which would result in the attackers starting at different times. Satoshi wants verifiable proof that the majority of the attackers agree on the same attack time so as to ensure success of the attack. This is why the use of something such as CSMA/CD would not solve the coordination problem.

To solve this, Satoshi suggests a Bitcoin like proof of work chain. Each attacker takes their attack time and performs some hashcash like operation to show proof of work. Next they broadcast this block to the rest of the attackers. Any attacker that has not finished their own proof of work, abandons their own proof of work because a completed block represents more work has been done and the most work represents the most valid answer(the longest chain rule). However, due to network delays, it is still possible that more than one block has been propagated on the network. After 2 hours, they have a chain that is roughly 12 blocks long. By estimating the amount of hashing power required to create this work, the attackers can provably verify that the majority of the attackers are working on this chain.

I originally read this answer from Satoshi over a year ago. It has been rattling around in the back of my head and I think it is because the answer that Satoshi has given is for a slightly different problem. The Byzantine Generals Problem is a problem of communication and coordination over an un-trusted medium. The problem Satoshi solves in Bitcoin was a problem of communication and coordination over an un-trusted medium. Given that the majority of the nodes in the network are honest, the probability that the longest chain of work is the legitimate chain increases with every block until it is statistically insignificant after the matter of an hour or two.

The problem, as it is framed in this answer is one of communication over an unreliable medium. While there may be concerns about the trustworthiness of the attackers in this scenario, the problem is phrased as being an issue of reliability. So my question is simple, are the problems of communication over an un-trusted medium and communication over an un-reliable medium analogous to one another? It seems clear that Satoshi has a similar solution to both problems but something about this answer has given me brain worms.

User avatar
btc
Global Moderator
Global Moderator
Posts: 166
Joined: Tue Sep 22, 2015 3:00 am
Location: satoshi's comet
Contact: Website

Re: Satoshi's Byzantine Generals Solution (E-Mail)

Thu Dec 17, 2015 8:55 am

satoshi makes some heavy assumptions; one of which is > 66% of the miner hash power in the bitcoin network will be used for good, honest progression of the chain.

User avatar
BitcoinXio
Nickel Bitcoiner
Nickel Bitcoiner
Posts: 167
Joined: Mon Sep 21, 2015 4:12 pm
Contact: Website

Re: Satoshi's Byzantine Generals Solution (E-Mail)

Thu Dec 17, 2015 3:14 pm

The problem, as it is framed in this answer is one of communication over an unreliable medium. While there may be concerns about the trustworthiness of the attackers in this scenario, the problem is phrased as being an issue of reliability. So my question is simple, are the problems of communication over an un-trusted medium and communication over an un-reliable medium analogous to one another? It seems clear that Satoshi has a similar solution to both problems but something about this answer has given me brain worms.
Maybe I'm not understanding your question correctly, so please forgive me but - both issues are solved with proof of work and the blockchain. Whether the medium of communication is trusted or not, you can trust that whichever chain is longer is the one that people are working on; the longer chain wins. People will stop working on the shorter chain because there is no incentive to keep going on that if everyone else is working on the longer one. Does that help?

User avatar
AStormOfCrickets
Posts: 2
Joined: Fri Nov 06, 2015 1:56 pm

Re: Satoshi's Byzantine Generals Solution (E-Mail)

Thu Dec 17, 2015 4:03 pm

Maybe I'm not understanding your question correctly, so please forgive me but - both issues are solved with proof of work and the blockchain. Whether the medium of communication is trusted or not, you can trust that whichever chain is longer is the one that people are working on; the longer chain wins. People will stop working on the shorter chain because there is no incentive to keep going on that if everyone else is working on the longer one. Does that help?
Hrm, well I guess my question is more fundamental than that. It was if the problem of communication over an un-trusted medium (as in adversarial) was the same as the problem of communication over an unreliable medium(think of wireless packet collisions and CSMA/CD being used to solve this problem). It seems more clear to me as I write it out that the meaning of the word trusted can be taken to mean both things. If you think of the proof of work chain as a consensus machine it makes more sense.

Satoshi's answer just doesn't click with me and I was trying to understand why. I just can't help but think that there is something here i am missing.

Return to “Development & Technical Discussion”

Who is online

Users browsing this forum: No registered users and 12 guests