  An anonymous dynamic network is a network of indistinguishable processes
whose communication links may appear or disappear unpredictably over time.
Previous research has shown that deterministically computing an arbitrary
function of a multiset of input values given to these processes takes only a
linear number of communication rounds (Di Luna-Viglietta, FOCS 2022).
  However, fast algorithms for anonymous dynamic networks rely on the
construction and transmission of large data structures called "history trees",
whose size is polynomial in the number of processes. This approach is
unfeasible if the network is congested, and only messages of logarithmic size
can be sent through its links. Observe that sending a large message piece by
piece over several rounds is not in itself a solution, due to the anonymity of
the processes combined with the dynamic nature of the network. Moreover, it is
known that certain basic tasks such as all-to-all token dissemination (by means
of single-token forwarding) require $\Omega(n^2/\log n)$ rounds in congested
networks (Dutta et al., SODA 2013).
  In this work, we develop a series of practical and efficient techniques that
make it possible to use history trees in congested anonymous dynamic networks.
Among other applications, we show how to compute arbitrary functions in such
networks in $O(n^3)$ communication rounds, greatly improving upon previous
state-of-the-art algorithms for congested networks.
