A couple of weeks ago I wrote a post on bitcoin as protocol that got a couple of hundred comments from which I learned a lot. This is an important topic and Chris Dixon has done a lot of good thinking and writing on this. He has a new short post on the relationship between Bitcoin and the Byzantine Generals problem. Chris wrote this mostly as a reaction to various New York Times coverage of Bitcoin which so far misses the protocol innovation. While I agree with Chris, here are some (possibly helpful) clarifications to his post.

First, the actual cost of money transfer in the traditional banking system could be tiny if the banks wanted it to be. The high existing cost is largely an incentive problem not a technical problem. That’s because the banking system isn’t fully distributed and decentralized the way that Bitcoin is. Between two banks we are only dealing with a 2-phase commit situation which has been solved (efficiently) for a long time.

Second, solutions to the Byzantine General’s problem have existed pre Bitcoin and a lot of work was done on this by Leslie Lamport in the early 1980s (he coined the name). Many of these solutions, however, work only if no more than one third of the nodes are potentially traitorous and also involve a lot of overhead / or make assumptions that cannot be guaranteed in fully distributed systems. Nonetheless there was a big breakthrough here pre Bitcoin in work by Miguel Castro and Barbara Liskov.

Third, the Bitcoin proof of work really is wasteful in the sense that all the computation carried out by nodes that do not succeed is in fact discarded. There are some new systems that already supplement the proof of work with a proof of stake. Beyond that I am aware of work on a proof of storage system which would be most appealing as it would align the expense (storage) with an objective (archiving of transaction).

Finally, it is worth noting that there is still no research consensus on just how effective the Bitcoin proof of work system is in guarding against malicious nodes if those nodes engage in “rational” mining (see for example the controversial Cornell paper).



As I said at the outset though I do agree with Chris that these kind of mechanisms will lead to important new decentralized systems. And it is great to see the excitement in the developer community to work on this. For instance, here is a call for more decentralized applications on github.