Byzantine consensus protocols are very important. :) Not only to bitcoin but to any decentralized system; truly private group chat is another example.
I’m not yet an expert in the area, but am a bit disturbed by Stellar’s concept that it’s a federated byzantine consensus protocol. What they mean by this is that there is no consensus with regard to who is a member of the network; anyone can join, and anyone can ignore any other participant.
This may or may not be a problem in practice; it would take some work to figure out what threat models are realistic and evaluate whether they’re addressed. For the sake of showing that there can be threats, I’ll give one example off the top of my head…
Suppose that a bad actor starts performing ledger-keeping for a Stellar-based cryptocurrency. Over time, they eventually become 10% of the network. Stellar provides its consensus guarantee as long as no more than 1/3 of nodes are behaving out-of-spec, so this is not a threat to consensus… but the definition of consensus is weird, because there’s no guarantee that any given user sees “the whole network”, since there’s no such concept. If there had been any sort of infighting, security issue, distrust, etc leading to node-eviction in the past, it’s entirely possible that there are several websites or other sources offering lists of nodes, and that those sources disagree. Stellar is designed to support this, and arguably to encourage it.
Given that, I’m sure the protocol is clever in some respects, but… isn’t it simply saying “if you have already agreed about who you trust, then we can solve trust”? That pushes the problem on users, rather than solving it.
I’d welcome commentary from theorists versed in this area. :)