2

Currently studying about replication and I was wondering:

In Passive replication, we have an agreement stage where the Primary replica manager (RM) waits for ack from the backup RM, wouldn't it be possible to handle byzantine failures whereby doing some sort of consensus algorithm? (we could survive f+1 failures in a system of 2f+1)

It would make sense that this is true since in a Active replication system the Frontend of the system would be performing this.

I can find sources telling that byzantine failure can be handeled in a Active replication system, but the same sources are saying that Passive replication systems can't handle byzantine failures.

But by the example I have given, it seems like Passive replication can handle the failures.

1 Answer 1

0

Active replication is, as you said, able to handle Byzantine failures because replica managers run independently from each other, and the output of the replica managers are gathered at the front end that issued the operation. As long as there are more than two replica managers, the front end can use a majority function to decide on the "correct" value.

However, in passive replication, you can implement a consensus algorithm so all secondary replica managers can agree on an output value. The problem lies in the primary replica manager. The front end has no way to tell if a Byzantine failure has happened at the primary replica manager.

Also, note that a consensus algorithm that can agree on a value in f + 1 rounds, where f denotes the number of tolerated failures, the communication system is required to be synchronous, because termination is never guaranteed in asynchronous systems.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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