In this paper, we resolve a long-standing open problem in self-stabilization asking whether it is possible to construct a spanning tree using constant memory per node in a synchronous semi-uniform networks, i.e., networks in which one node is distinguished. We design a synchronous self-stabilizing algorithm that constructs a breadth-first search (BFS) tree in any anonymous semi-uniform network using only a constant number of bits of memory per node. Crucially, our approach operates without any prior knowledge of global network parameters such as maximum degree, diameter, or number of nodes. In contrast to traditional self-stabilizing methods - such as pointer-to-neighbors, distance-to-root, or identifiers - that are unsuitable under strict memory constraints, our solution employs an innovative constant-space token dissemination mechanism. This mechanism effectively eliminates cycles and rectifies errors in the BFS structure, ensuring both correctness and memory efficiency. The proposed algorithm not only meets the stringent requirements of memory-constrained distributed systems, but also opens new avenues for research in the design of self-stabilizing protocols under severe resource limitations: constant space-complexity may not systematically prevent the existence of self-stabilizing algorithms for important non-trivial tasks.
@InProceedings{blin_et_al:LIPIcs.DISC.2025.17, author = {Blin, L\'{e}lia and Petit, Franck and Tixeuil, S\'{e}bastien}, title = {{Deterministic Synchronous Self-Stabilizing BFS Construction with Constant Space Complexity}}, booktitle = {39th International Symposium on Distributed Computing (DISC 2025)}, pages = {17:1--17:15}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-402-4}, ISSN = {1868-8969}, year = {2025}, volume = {356}, editor = {Kowalski, Dariusz R.}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.DISC.2025.17}, URN = {urn:nbn:de:0030-drops-248349}, doi = {10.4230/LIPIcs.DISC.2025.17}, annote = {Keywords: Distributed algorithms, fault-tolerance, transient faults, self-stabilization, memory optimization} }