Wow, that's amazing. On the topic of fault tolerance and consensus, here's a short but well done article on it:<p><a href="https://ug93tad.github.io/consensus/" rel="nofollow">https://ug93tad.github.io/consensus/</a><p>And on the topic of Paxos, some recent HN discussion:<p><a href="https://news.ycombinator.com/item?id=16003662" rel="nofollow">https://news.ycombinator.com/item?id=16003662</a> - WPaxos: a wide area network Paxos protocol<p><a href="https://news.ycombinator.com/item?id=13923949" rel="nofollow">https://news.ycombinator.com/item?id=13923949</a> - Paxos in 25 Lines<p><a href="https://news.ycombinator.com/item?id=13950493" rel="nofollow">https://news.ycombinator.com/item?id=13950493</a> - Gryadka is not Paxos, so it's probably wrong [RETRACTED]
"In sum, something "fundamental" changes when you want to go fault-tolerant and tolerate node failure in an asynchronous system. When you combine faults and full-asynchrony, you get the FLP impossibility result. That means you lose progress! That is why Paxos does not guarantee making progress under a full asynchronous model with a crash failure."<p>This is unclear to me. Egalitarian Paxos guarantees progress under a full asynchronous model and doesn't have the dueling leaders problem. So this looks like a weakness of standard Paxos itself, not a fundamental problem.
Similarly, Max Zorn used to ask people whether they recalled what Zorn's Lemma was introduced as a lemma to. (I haven't a clue, and I doubt most of them did either.)
Are we there yet? Do we need paxos-like consensus protocols? Hardware is becoming cheaper and commoditised and with all the hype around blockchain, it looks like people are ready to pay extra for the redundant hardware needed for 100% fault tolerance.
Still, it feels to me to in almost all cases, including financial transactions, it's good enough to be right 99.999% of the time and just amortise the costs of the very rare bit flip...