  Consider the following asynchronous, opportunistic communication model over a
graph $G$: in each round, one edge is activated uniformly and independently at
random and (only) its two endpoints can exchange messages and perform local
computations. Under this model, we study the following random process: The
first time a vertex is an endpoint of an active edge, it chooses a random
number, say $\pm 1$ with probability $1/2$; then, in each round, the two
endpoints of the currently active edge update their values to their average. We
show that, if $G$ exhibits a two-community structure (for example, two
expanders connected by a sparse cut), the values held by the nodes will
collectively reflect the underlying community structure over a suitable phase
of the above process, allowing efficient and effective recovery in important
cases.
  In more detail, we first provide a first-moment analysis showing that, for a
large class of almost-regular clustered graphs that includes the stochastic
block model, the expected values held by all but a negligible fraction of the
nodes eventually reflect the underlying cut signal. We prove this property
emerges after a mixing period of length $\mathcal O(n\log n)$. We further
provide a second-moment analysis for a more restricted class of regular
clustered graphs that includes the regular stochastic block model. For this
case, we are able to show that most nodes can efficiently and locally identify
their community of reference over a suitable time window. This results in the
first opportunistic protocols that approximately recover community structure
using only polylogarithmic work per node. Even for the above class of regular
graphs, our second moment analysis requires new concentration bounds on the
product of certain random matrices that are technically challenging and
possibly of independent interest.
