  We study the hierarchy of communities in real-world networks under a generic
stochastic block model, in which the connection probabilities are structured in
a binary tree. Under such model, a standard recursive bi-partitioning algorithm
is dividing the network into two communities based on the Fiedler vector of the
unnormalized graph Laplacian and repeating the split until a stopping rule
indicates no further community structures. We prove the strong consistency of
this method under a wide range of model parameters, which include sparse
networks with node degrees as small as $O(\log n)$. In addition, unlike most of
existing work, our theory covers multiscale networks where the connection
probabilities may differ by orders of magnitude, which comprise an important
class of models that are practically relevant but technically challenging to
deal with. Finally we demonstrate the performance of our algorithm on synthetic
data and real-world examples.
