← Back to context

Comment by hunterpayne

2 days ago

It solves a CS problem called the Byzantine Generals problem. That problem was thought to have no solution before blockchains were created. The lack of CS knowledge on this board is pretty staggering sometimes.

That is complete nonsense, indicative of your lack of knowledge, and utterly typical of crypto hype: mendacious or ignorant or both.

The State Machine Replication problem in distributed computing has been studied since the 1960s or so, and indeed can be solved using Byzantine Broadcast. That has been solved for various settings:

* Permissioned (+ PKI), synchronous: SMR possible for any f (Dolev Strong 1983)

* Permissioned (no PKI), synchronous: SMR impossible if f≥n/3 (PSL 1980, FLM 1985)

* Permissioned, asynchronous setting: SMR impossible even with f=1 (FLP 1985)

* Permissioned, partially synchronous: deterministic SMR with "eventual liveness" possible if f<n/3 (late 1990s), stochastic if f<n/2, impossible otherwise.

The theory to achieve reliable state machine replication even in the presence of byzantine failures was sorted out in the 1980s, and the practice followed in the late 1990s (PBFT (Castro Liskov 1999), byzantine Paxos, etc.)

So, just to drive the point home: the Byzantine Generals problem (more precisely: Byzantine Broadcast & SMR) was a solved problem by the late 1990s.

What Bitcoin (ie LCR + PoW) added was to do it in the permissionless setting, just as I've said. (It also increased f from n/3 to n/2, modulo "selfish mining", and while earlier solutions were consistent always, available eventually, LCR + PoW is available always, consistent eventually, which is arguably the wrong tradeoff for finance.)

> The lack of CS knowledge on this board is pretty staggering sometimes.

You don't say.

That is a common blockchain myth.

There were solutions before blockchain, especially in the field of Byzantine fault tolerance. The original Byzantine Generals paper was from 1982, and practical algorithms existed before Bitcoin. For example: PBFT - Practical Byzantine Fault Tolerance - published in 1999.

https://css.csail.mit.edu/6.824/2014/papers/castro-practical...

Blockchain solved a different version of the problem: how can a large, open, permissionless network reach agreement when anyone can join and nobody has a fixed identity?

Classic BFT is like a committee of known people voting, where the system survives some liars.

Blockchain is like letting strangers on the internet vote, but making votes costly enough that cheating becomes economically difficult.

> The lack of CS knowledge on this board is pretty staggering sometimes.

Right!?