# Consensus and Perfect Failure Detector

I try to get a better understanding about Failure Detectors in the field of Distributed Computing.

Let consider the algorithm for reaching consensus with Perfect Failure Detector, it's named as Perfect FDAgreement in the textbook Distributed Algorithms by Nancy A. Lynch on the page 679. In addition, it can be found in the following presentation Asynchronous Network Computing with Process Failures. Slide 16.

The basic idea of the algorithm is each process $P_i$ attempts to stabilize two pieces of data: a vector val, indexed by $\{1,2,...,n\}$, with values in $V \cup \{null\}$.$val(j) = v \in V$, it means that $P_i$ knows that $P_j$’s initial value is $v$. A set stopped of process indices. If $j \in stopped$, it means that $P_i$ knows that $P_j$ has stopped.

The question is as one of the step of the algorithm every process that receive a message ignores it from the processors it has already placed in stopped.

I don't understand why we need this, even we don't ignore the message from stopped process it won't broke anything. This case may occur when $P_j$ sends a message to $P_i$ and crashes, FailureDetector see the crash and informs the process $P_i$ that $P_j$ is stopped after that $P_j$'s message reaches $P_i$, but this message contains a correct data, and it doesn't change the state of $P_j$ in stopped set, because only INSERT (insert new values that previously was null) and COMPARE are allowed operations on the set.

If you see the real reason for ignoring messages from the crashed process please share it with us.

Addendum: Unfortunately I didn't find any use of the aforementioned fact (ignoring message from crashed node) in the algorithm (Perfect FDAgreement in the textbook Distributed Algorithms by Nancy A. Lynch).

In addition, in main papers Tushar Deepak Chandra and Sam Toueg. Unreliable failure detectors forasynchronous systems and Tushar Deepak Chandra, Vassos Hadzilacos, and Sam Toueg. The weakest failure detector for solving consensus slightly different algorithm can be found without ignoring messages from crashed nodes.