 
Summary: RANDOMIZED CONSENSUS IN EXPECTED O(N log2 N)
OPERATIONS PER PROCESSOR
JAMES ASPNES AND ORLI WAARTSy
Abstract. This paper presents a new randomized algorithm for achieving consensus among
asynchronous processors that communicateby reading and writing shared registers. The fastest pre
viously known algorithm requires a processor to perform an expected O(n2 logn) read and write op
erationsin the worst case. In our algorithm,each processorexecutesat most an expectedO(n log2 n)
read and write operations, which is close to the trivial lower bound of (n).
All previously known polynomialtime consensus algorithms were structured around a shared
coin protocol 4] in which each processor repeatedly adds random 1 votes to a common pool.
Consequently, in all of these protocols, the worst case expected bound on the number of read and
write operations done by a single processor is asymptotically no better than the bound on the
total number of read and write operations done by all of the processors together. We succeed in
breakingthis tradition by allowing the processorsto cast votes of increasingweights. This grants the
adversary greater control since he can choose from up to n di erent weights (one for each processor)
when determining the weight of the next vote to be cast. We prove that our shared coin protocol is
correct nevertheless using martingale arguments.1
1. Introduction. In the consensusproblem,each ofn asynchronous processors
starts with an input value 0 or 1 not known to the others and runs until it chooses a
decision value and halts. The protocol must be consistent: no two processors choose
