## 1 Introduction
The semantics under consideration herein is the _exactly once semantics_, where each process receives the message from the legitimate source exactly once. Alternatively, at least once semantics can be considered where each system process receives the message one or more times. At least once semantics may lead to breaching the system safety or security in certain applications, making the exactly once semantics more desirable [7]. Ensuring that a broadcast algorithm satisfies both propagation safety and reliability properties is not straightforward when the system is started in an arbitrary initial system configuration without an initial reset. This is primarily because of a broadcast algorithm that can start in an arbitrary initial system configuration may suffer from _premature feedback_. Premature feedback refers to the conclusion of a broadcast operation at a process although the process has neighbors that did not receive the most recent broadcast yet. For broadcast algorithms, premature feedback can be caused by transient faults as well as interferences caused by initial arbitrary initialization of system processes. Observe that premature feedback may result in a violation of propagation reliability as the neighboring process may never receive the broadcast. Premature feedback safety is required for a broadcast algorithm without initial setup or reset since arbitrary system initialization can cause specification violations leading to premature feedback, which in turn violates the propagation reliability property. The implementation of our proposed broadcast algorithm starting in an arbitrary initial system configuration presents a number of challenges. First, some process synchronization needs to be implemented to ensure the premature feedback safety of the broadcast. Second, propagation reliability with exactly once semantics needs to be guaranteed. Third, as the broadcast proceeds to the neighboring processes, determining the next set of neighboring processes and advancing the broadcast to all the predetermined neighboring processes in the presence of interferences caused by arbitrary initialization of processes. Fourth, the elimination of spurious messages and guaranteeing 1-safety of propagation needs to be implemented. These challenges can easily be met if _lock-step synchrony_ is assumed. Lock-step synchrony refers to the synchronization where all processes in a network are synchronized with each other such that they progress in a step-by-step manner where, in each step, all system processes execute all their currently enabled actions. One of the main limitations of the lock-step synchrony assumption is that it is inherently limited by the speed of the slowest process in the network [8]. If one process experiences a delay or a fault, the entire network must wait until that process catches up, which can result in a significant reduction in performance and efficiency. In a real-world scenario, processes may have different processing speeds and may be executing different algorithms, making it difficult to maintain a lock-step execution of all processes. This may lead to major performance degradation, making the lock-step synchrony assumption unsuitable for large-scale distributed systems [9]. In addition, lock-step synchrony is considered a strong assumption with significant overhead while complicating the system and its implementation. In this paper, we first prove that it is impossible to devise an asynchronous reliable broadcast algorithm that can start in an arbitrary initial system configuration where processes execute their actions solely based on local knowledge. We then propose the first asynchronous reliable broadcast algorithm that, starting in any arbitrary initial system configuration, ensures three properties, namely, premature feedback safety, propagation 1-safety, and propagation reliability. The complexity of the proposed broadcast algorithm is O(\(D^{2}\)) rounds, where \(D\) is the diameter of the communication network.