Hacker News new | ask | show | jobs
by TomSwirly 1437 days ago
Blockchain doesn't actually solve the Byzantine Generals problem, because that is in principle unsolvable.

It mitigates the issue by making a 51% attack or its equivalent harder.

Outside cryptocurrencies, there is literally no practical application for even an approximate solution for the Byzantine Generals problem.

Outside cryptocurrencies, you can always use a 1970s vintage Merkle tree without the 10000x weight of the blockchain.

1 comments

Byzantium would disagree with your analysis...except it doesn't exist anymore because it couldn't solve the problem.

You are splitting hairs on the solve and it comes off as petty. Bitcoin 100% has solved it, prove me wrong by showing me how it's failed.

> Outside cryptocurrencies, there is literally no practical application for even an approximate solution for the Byzantine Generals problem

Hmmm sure

> prove me wrong by showing me how it's failed.

This shifts the work for your position to another person, and in the negative. Certainly it makes your life easier, but in traps you in a bubble of your own creation.

It’s essentially the same as admitting “I can’t prove it, so you have to prove the inverse” and hoping the other person will Marty McFly for you, and waste their time instead. It’s a solid method for reinforcing confirmation bias because whether they try or forget about it and move on you get to continue in your assumed position.

> Byzantium would disagree with your analysis...except it doesn't exist anymore because it couldn't solve the problem.

Leslie Lamport commenting on the 1982 paper. https://www.microsoft.com/en-us/research/publication/byzanti...

> There is a problem in distributed computing that is sometimes called the Chinese Generals Problem ... the original title of this paper was The Albanian Generals Problem ... The obviously more appropriate Byzantine generals then occurred to me.

Sure, bitcoin "solves" byzantine generals the same way TCP "solves" it. The theoretical construction is probably unsolvable, like the halting problem. In practice, you can "solve" the halting problem for most inputs too.

In the general construction of byzantine generals, there's essentially an adversarial agent preventing arbitrary communications. As far as I know, a distributed ledger can't generally survive in such an environment. Nor can TCP.

Compromised private keys are pretty obvious, aren't they?

If I've got your private key, I can do what I want with the bitcoins it has access to.