Reputation: 324
In PBFT consensus, we know that there should be 3f+1 replicas out of which 2f+1 correct ones and f are the maximum number of faulty replicas network can tolerate. I wonder while setting up fabric how to keep this thing in mind. What are the parameters on which we can predict the chances of faulty replicas?
Upvotes: 1
Views: 398
Reputation: 793
I assume you are setting up your orderers with a BFT consensus plugin such as BFT-SMART. BFT algorithms are only required if you want to tolerate malicious faults. If you're only concerned about crash faults, you can also use Kafka consensus, which tolerates up to 50% crashing nodes.
So if you're setting up a business network, each partner should be running one ordering node. The number of tolerated malicious partners depends on your total number of partners. So if you have 4 partners, one of them can be malicious without your network breaking down, if you have 7 partners, you tolerate two, etc.
So it's not really a conscious choice that you're making in how many replicas to run. The number of tolerated malicious nodes depends on the number of independent partners you have running ordering nodes. There is no point in having one organization run multiple ordering nodes, since they could manipulate all of them if they were acting maliciously.
Upvotes: 1