  Motivated by applications in blockchains and sensor networks, we consider a
model of $n$ nodes trying to reach consensus on their majority bit. Each node
$i$ is assigned a bit at time zero, and is a finite automaton with $m$ bits of
memory (i.e., $2^m$ states) and a Poisson clock. When the clock of $i$ rings,
$i$ can choose to communicate, and is then matched to a uniformly chosen node
$j$. The nodes $j$ and $i$ may update their states based on the state of the
other node. Previous work has focused on minimizing the time to consensus and
the probability of error, while our goal is minimizing the number of
communications. We show that when $m>3 \log\log\log(n)$, consensus can be
reached at linear communication cost, but this is impossible if
$m<\log\log\log(n)$. We also study a synchronous variant of the model, where
our upper and lower bounds on $m$ for achieving linear communication cost are
$2\log\log\log(n)$ and $\log\log\log(n)$, respectively. A key step is to
distinguish when nodes can become aware of knowing the majority bit and stop
communicating. We show that this is impossible if their memory is too low.
