Leader election algorithms for wireless ad hoc networks
Proceedings DARPA Information Survivability Conference and Exposition
We consider the problem of secure leader election and propose two cheat-proof election algorithms : Secure Extrema Finding Algorithm (SEFA) and Secure Preference-based Leader Election Algorithm (SPLEA). Both algorithms assume a synchronous distributed system in which the various rounds of election proceed in a lock-step fashion. SEFA assumes that all elector-nodes share a single common evaluation function that returns the same value at any elector-node when applied to a given candidate-node.
... candidate-node. When elector-nodes can have different preferences for a candidate-node, the scenario becomes more complicated. Our Secure Preference-based Leader Election Algorithm (SPLEA) deals with this case. Here, individual utility functions at each elector-node determine an elector-node's preference for a given candidate-node. We relax the assumption of a synchronous distributed system in our Asynchronous Extrema Finding Algorithm (AEFA) and also allow the topology to change during the election process. In AEFA, nodes can start the process of election at different times, but eventually after topological changes stop long enough for the algorithm to terminate, all nodes agree on a unique leader. Our algorithm has been proven to be "weakly" self-stabilizing. Keywords : wireless ad hoc networks, secure leader election, network protocols, formal specification and verification, self-stabilization. battery life, or certified level-of-trust within the system are examples of values for which all nodes might well hold such a common view of a candidate node. ¤ The leader-election problem is more complicated when nodes can have different preferences for a leader. For example, if topological distance is taken as a metric for determining a node's preference among candidatenodes, each elector-node might well have a different view of the "value" of each candidate. Our Secure Preference-based Leader Election Algorithm (SPLEA) deals with this case. Here, individual utility functions at each elector-node determine the electornode's preference for a given candidate-node, and (loosely speaking) SPLEA serves to aggregate individual elector-node preferences into a single, system-wide choice of a leader. We formally specify these two algorithms and prove their correctness and security properties, using linear time temporal logic as the formal tool. We then present AEFA, an asynchronous leader election algorithm. In this algorithm, nodes are allowed to be mobile during the process of election. This algorithm uses the concept of diffusing computations  to perform leader election. Informally, the algorithm operates as follows. Nodes periodically poll their leader. When a node is disconnected from its leader, the nodes detecting this event begin a new diffusing computation to determine the new leader. Eventually, when a diffusing computation terminates, the node that initiated that computation finds the "extremal node" and informs other nodes of this extremum. The remainder of the paper is organized as follows. In Section 2 we discuss related work. We describe SEFA and SPLEA in detail in Section 3 and also discuss their properties. In Section 4, we present an overview of AEFA and its properties. Finally, in Section 5 we present our conclusions and agenda for future work.