5

What is reason that the threshold of consensus bearing nodes must be above 66% for the network to operate successfully?

This is straight from the docs of the stellar-core_example.cfg file.

UNSAFE_QUORUM (true or false) - default false

Most people should leave this to false.

If set to true allows to specify a potentially unsafe quorum set. Otherwise it won't start if a threshold % is set too low (threshold below 66% for the top level)...

4

This is by analogy with symmetric Byzantine agreement protocols (in which everyone has the same quorum slices). You need any two quorums to intersect at an honest node. If your threshold is 2/3 or lower then you need to proceed when 1/3 of nodes have failed. But if you divide nodes into three equal-sized groups A, B, and M, and M is bad, then A+M and B+M are two quorums that only intersect at bad nodes.

Things are different with SCP in that maybe you don't expect 1/3 to be evil but what to proceed when they are down, or maybe you have a low threshold and are counting on other nodes to have a higher threshold. So there's no 100% guarantee you are going to fail if you set the threshold <= 2/3, but it is nonetheless kind of risky and probably not a good idea unless you know what you are doing.

  • Thank you for the answer, my question more closely relies on the first paragraph then with BFT. Why wouldn't 51% work here? You bring up the situation where there is no honest quorum intersection, but in the case where the quorum slices are equivolent, why couldn't one proceed with 51% consensus amoung all nodes? – Brutus123 Jun 14 '18 at 22:30
  • 1
    You can do with 51%, if it is your private network and you could may have full control. In the public network, it is impossible to have equivalent quorum slices for every node, and you need >66% for safety reasons to adhere to the BFT concept. – cesarm Jun 15 '18 at 1:50
  • When you say '>66% for safety reasons' do you mean that is really a simplification of the 3f+1 rule? – Brutus123 Jun 15 '18 at 14:42
  • 1
    Yes, I think 66% is an approximation of the 3f+1 rule. 51% doesn't work with Byzantine failures, because bad nodes can send contradictory messages. I.e., if 34% of nodes are malicious, then it's easy to form two groups of size 51% that only intersect at bad nodes. – user3188445 Jun 15 '18 at 23:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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