History Trees and Their Applications
Giovanni Viglietta
TL;DR
History trees are presented as a temporal, discrete data structure for analyzing anonymity in dynamic networks, capturing how indistinguishability evolves with message multisets. The note situates history trees among static notions such as Yamashita–Kameda views and Boldi–Vigna’s minimum base, and extends these ideas to dynamic settings to yield optimal linear-time solutions for core tasks like Average Consensus and Counting. It surveys a broad range of variations—Leader Election, Directed/Disconnected/Semi-Synchronous/Asynchronous, Port Awareness, Varying Inputs, Self-Stabilization, Finite-State Stabilization, Memoryless Computation, and Congested Networks—along with open problems and practical considerations, including simulation tooling. The results establish that, by building and merging agent views, a wide class of problems can be reduced to analyzing history-tree structures, enabling precise time bounds and robust handling of topology changes in anonymous networks.
Abstract
In the theoretical study of distributed communication networks, "history trees" are a discrete structure that naturally models the concept that anonymous agents become distinguishable upon receiving different sets of messages from neighboring agents. By conveniently organizing temporal information in a systematic manner, history trees have been instrumental in the development of optimal deterministic algorithms for networks that are both anonymous and dynamically evolving. This note provides an accessible introduction to history trees, drawing comparisons with more traditional structures found in existing literature and reviewing the latest advancements in the applications of history trees, especially within dynamic networks. Furthermore, it expands the theoretical framework of history trees in new directions, also highlighting several open problems for further investigation.
