3

Actually the differences are more intricate than that. A problem here might be that the properties of "blockchains" are not very well specified and the term is used for a wide variety of things (going as far as simple databases) for marketing. So let's see what is out there. When you are designing a fault tolerant system there are multiple properties to ...


2

Quoting from the abstract of the original paper introducing the Byzantine Generals problem (with my emphasis): The problem is to find an algorithm to ensure that the loyal generals will reach agreement. If you read further in the paper, they reduce the problem to agreeing on a single bit: "Attack" or "Retreat". The question is can the loyal generals ...


1

Arbitrary failure means exactly what it says. It means that the failing process should be treated as if an opponent is choosing the process's behavior to try to break your system. Other types of failure, such as omission failures and timing failures, are special cases of this. They are relevant because certain algorithms only guarantee correct results in ...


1

You've asked multiple questions here. I'll answer the first one. Typically consensus means that all the honest participants have the same view of the state of the system. There's not necessarily a guarantee that this state is "correct" in any sense (some protocols might also provide that guarantee, but it is in some sense a separate or additional request)....


1

Not necessarily NFS, but Hyperledger used PBFT for their blockchain platform. This is a Go implementation: https://github.com/hyperledger-archives/fabric/tree/master/consensus/pbft That is an old repo, they seem to be currently using a new repo with implementations in other languages as well, however I haven't gone through it in detail: https://gerrit....


Only top voted, non community-wiki answers of a minimum length are eligible