There are a large number of competing consensus protocols in the blockchain space today. How can I compare them to each other in an objective way?

up vote 8 down vote accepted

There are several different ways to answer this question.

For example, you could try to measure the percentage of the network that must misbehave in a malicious or "byzantine" manner before agreement among the "real users" breaks down. This type of approach, called fault tolerance analysis, is well-studied in computer science, and some important impossibility results are known. Its major drawback is that it doesn't generally address economic considerations, which can definitely cause nodes to change their behaviour.

Another approach, advocated by Vlad Zamfir among others, is to try and measure the costs, benefits, and game theoretic strategies that will motivate participants to decide their actions within the network, assuming certain behaviours and goals (such as bounded altruism and profitability). This mechanism design strategy has the advantage of allowing for much more detailed analysis than mere fault tolerance, potentially falling back to that analysis as appropriate. It has the disadvantage of being more complicated to perform accurately.

And finally, don't forget to compare the consensus protocols on their raw technical merits as well as their real-world performance. Even if they achieve what they claim to achieve, is that outcome significant or worthwhile? Do they successfully implement the theories they claim to? Or is it one of those projects that looked better on paper? There's a lot of nonsense out there: be careful!

Use the same formal analysis techniques that have been used in the literature for 25+ years.

A good starting point for the conceptual basis of these systems is Paxos. Then, I would look at Raft, since its implementation is significantly easier to understand. Also it's vitally important that people researching in this space look at this paper, it seems to be often overlooked, it provides the seminal guidance for dealing with the consequences of The FLP Impossibility Theorem. Also vector clocks are an important tool.

  • All excellent resources. Upvoted! – Jeff Coleman Feb 10 '16 at 21:45

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.