Trivially, agreement problems such as consensus, that cannot be solved in non-anonymous asynchronous systems prone to process failures, cannot be solved either if the system is anonymous. The paper investigates failure detectors that allow processes to circumvent this impossibility. It has several contributions. It first presents four failure detectors (denoted AP, AP, AΩ and AS) and show that they are the "identity-free" counterparts of the two perfect failure detectors, eventual leader failure detectors and quorum failure detectors, respectively. A∑ is new and showing that A∑ and ∑ have the same computability power in a non-anonymous system is not trivial. The paper also shows that the notion of failure detector reduction is related to the computation model. Then, the paper presents and proves correct an uniform anonymous consensus algorithm based on the failure detector pair (AΩ, A∑) ("uniform" means that not only processes have no identity, but no process is aware of the total number of processes). This new algorithm is not a "straightforward extension" of an algorithm designed for non-anonymous systems. To benefit from A∑, it uses a novel message exchange pattern where each phase of every round is made up of sub-rounds in which appropriate control information is exchanged. Finally, the paper discusses the notions of failure detector hierarchy, weakest failure detector for anonymous consensus, and the implementation of identity-free failure detectors in anonymous systems.
展开▼