This paper studies the complexities of basic distributed computing tasks while operating under severe fault-tolerant contexts and strong communication constraints. We consider the self-stabilizing context, in which internal states of processors (agents) are initially chosen by an adversary. Given a population of agents, we assume that communication is restricted to the synchronous PULL model, where in each round, each agent can pull information from few other agents, chosen uniformly at random. We are primarily interested in the design of algorithms that use messages as small as possible. Indeed, in such models, restricting the message-size may have a profound impact on both the solvability of the problem and its running time. We concentrate on variants of two fundamental problems, namely, clock-synchronization, where agents aim to synchronize their clocks modulo some , and Zealot-consensus, in which agents need to agree on a common output bit, despite the presence of at most one agent whose output bit is fixed throughout the execution. Our main technical contribution is the construction of a clock-synchronization protocol that converges in rounds with high probability and uses only 3 bits per message. In addition to being self-stabilizing, this protocol is robust to the presence of Byzantine agents, for any positive constant~. Using this clock-synchronization protocol, we solve the self-stabilizing Zealot-consensus problem in time using only 4-bit messages. Our technique for obtaining the clock synchronization is rather general and can be applied to a large family of models where agents are passively mobile, provided that there exists a self-stabilizing symmetric-consensus protocol defined for a single bit.
View on arXiv