Affects Version/s: None
Fix Version/s: None
Epic Name:Remove Replicas
- RBFT is much slower (N^3 vs N^2) than other PBFT-like protocols as it runs F+1 instances of the Protocol
- RBFT benefit (more sensitive to malicious Primary and slower performance) is not so critical in INDY cases. Probability of malicious Primary (degrading performance) is not so high in Permissioned networks. And it can be caught by not so expensive ways.
- Plenum doesn't fully implement all RBFT assumptions. Implementing a real RBFT (really independent replicas) requires significant effort
- A lot of issues in Plenum are related to processing of requests between protocol instances. If we have just 1 instance, the code would be much easier, cleaner and stable
- As we implement PBFT View Change, moving to Aardvark (https://www.usenix.org/legacy/events/nsdi09/tech/full_papers/clement/clement.pdf) looks pretty easy and straightforward.
- Aardvark has regular view changes where the time each node can be a primary correlates with the node's performance.
We propose moving to Aardvark in order to
1) Improve Stability and fix a lot of stability issues by this
2) Improve Performance