skip to main content
research-article

Self-stabilizing Byzantine fault-tolerant repeated reliable broadcast

Published: 13 September 2023 Publication History

Abstract

We study a well-known communication abstraction called Byzantine Reliable Broadcast (BRB). This abstraction is central in the design and implementation of fault-tolerant distributed systems, as many fault-tolerant distributed applications require communication with provable guarantees on message deliveries. Our study focuses on fault-tolerant implementations for message-passing systems that are prone to process-failures, such as crashes and malicious behavior.
At PODC 1983, Bracha and Toueg, in short, BT, solved the BRB problem. BT has optimal resilience since it can deal with t < n / 3 Byzantine processes, where n is the number of processes. The present work aims to design an even more robust solution than BT by expanding its fault-model with self-stabilization, a vigorous notion of fault-tolerance. In addition to tolerating Byzantine and communication failures, self-stabilizing systems can recover after the occurrence of arbitrary transient-faults. These transient faults allow the model to represent temporary deviations from the assumptions on which the system was originally designed to operate (provided that the algorithm code remains intact).
We propose, to the best of our knowledge, the first self-stabilizing Byzantine fault-tolerant (BFT) solution for repeated BRB in signature-free message-passing systems (that follows BT's problem specifications). Our contribution includes a self-stabilizing variation on BT that solves a single-instance BRB for asynchronous systems. We also consider the problem of recycling instances of single-instance BRB. Our self-stabilizing BFT recycling for time-free systems facilitates the concurrent handling of a predefined number of BRB invocations and, in this way, can serve as the basis for self-stabilizing BFT consensus.

References

[1]
M. Raynal, Fault-Tolerant Message-Passing Distributed Systems - an Algorithmic Approach, Springer, 2018.
[2]
A. Auvolat, M. Raynal, F. Taïani, Byzantine-tolerant set-constrained delivery broadcast, in: OPODIS, in: LIPIcs, vol. 153, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019.
[3]
L. Lamport, R.E. Shostak, M.C. Pease, The Byzantine generals problem, ACM Trans. Program. Lang. Syst. 4 (3) (1982) 382–401.
[4]
G. Bracha, S. Toueg, Resilient consensus protocols, in: PODC, ACM, 1983, pp. 12–26.
[5]
G. Bracha, S. Toueg, Asynchronous consensus and broadcast protocols, J. ACM 32 (4) (1985) 824–840.
[6]
S. Dolev, Self-Stabilization, MIT Press, 2000.
[7]
M.C. Pease, R.E. Shostak, L. Lamport, Reaching agreement in the presence of faults, J. ACM 27 (2) (1980) 228–234.
[8]
S. Dolev, A. Hanemann, E.M. Schiller, S. Sharma, Self-stabilizing end-to-end communication in (bounded capacity, omitting, duplicating and non-fifo) dynamic networks - (extended abstract), in: SSS, in: LNCS, vol. 7596, Springer, 2012, pp. 133–147.
[9]
A. Doudou, B. Garbinato, R. Guerraoui, A. Schiper, Muteness failure detectors: specification and implementation, in: EDCC, in: LNCS, vol. 1667, Springer, 1999, pp. 71–87.
[10]
E.W. Dijkstra, Self-stabilizing systems in spite of distributed control, Commun. ACM 17 (11) (1974) 643–644.
[11]
K. Altisen, S. Devismes, S. Dubois, F. Petit, Introduction to Distributed Self-Stabilizing Algorithms, Synthesis Lectures on Distributed Computing Theory, Morgan & Claypool Publishers, 2019.
[12]
A. Arora, M.G. Gouda, Closure and convergence: a formulation of fault-tolerant computing, in: FTCS, IEEE Computer Society, 1992, pp. 396–403.
[13]
S. Bonomi, J. Decouchant, G. Farina, V. Rahli, S. Tixeuil, Practical Byzantine reliable broadcast on partially connected networks, in: ICDCS, IEEE, 2021, pp. 506–516.
[14]
R. Guerraoui, J. Komatovic, P. Kuznetsov, Y. Pignolet, D. Seredinschi, A. Tonkikh, Dynamic Byzantine reliable broadcast, in: OPODIS, in: LIPIcs, vol. 184, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2020.
[15]
O. Lundström, M. Raynal, E.M. Schiller, Self-stabilizing uniform reliable broadcast, in: NETYS, in: LNCS, vol. 12129, Springer, 2020, pp. 296–313.
[16]
O. Lundström, M. Raynal, E.M. Schiller, Self-stabilizing indulgent zero-degrading binary consensus, in: Distributed Computing and Networking, ICDCN'21, 2021, pp. 106–115.
[17]
O. Lundström, M. Raynal, E.M. Schiller, Self-stabilizing multivalued consensus in asynchronous crash-prone systems, in: 2021 17th European Dependable Computing Conference (EDCC), IEEE, 2021, pp. 111–118.
[18]
C. Georgiou, O. Lundström, E.M. Schiller, Self-stabilizing snapshot objects for asynchronous failure-prone networked systems, in: CoRR, 2019.
[19]
A. Mostéfaoui, M. Raynal, Intrusion-tolerant broadcast and agreement abstractions in the presence of Byzantine processes, IEEE Trans. Parallel Distrib. Syst. 27 (4) (2016) 1085–1098.
[20]
S. Toueg, Randomized Byzantine agreements, in: Proceedings of the Third Annual ACM Principles of Distributed Computing, Vancouver, B.C., Canada, August 27–29, 1984, 1984, pp. 163–178.
[21]
A. Maurer, S. Tixeuil, Self-stabilizing Byzantine broadcast, in: 33rd IEEE International Symposium on Reliable Distributed Systems, SRDS 2014, Nara, Japan, October 6–9, 2014, 2014, pp. 152–160.
[22]
S. Dolev, O. Liba, E.M. Schiller, Self-stabilizing Byzantine resilient topology discovery and message delivery, in: Networked Systems NETYS'13, 2013, pp. 42–57.
[23]
S. Bonomi, A.D. Pozzo, M. Potop-Butucaru, S. Tixeuil, Optimal self-stabilizing mobile Byzantine-tolerant regular register with bounded timestamps, in: Stabilization, Safety, and Security of Distributed Systems, SSS'18, 2018, pp. 398–403.
[24]
S. Bonomi, M. Potop-Butucaru, S. Tixeuil, Stabilizing Byzantine-fault tolerant storage, in: IEEE Parallel and Distributed Processing Symposium, IPDPS'15, 2015, pp. 894–903.
[25]
S. Bonomi, S. Dolev, M. Potop-Butucaru, M. Raynal, Stabilizing server-based storage in Byzantine asynchronous message-passing systems, in: ACM Principles of Distributed Computing, PODC'15, 2015, pp. 471–479.
[26]
S. Dolev, J.L. Welch, Self-stabilizing clock synchronization in the presence of Byzantine faults, in: ACM Principles of Distributed Computing PODC'95, 1995, p. 256.
[27]
C. Lenzen, J. Rybicki, Self-stabilising Byzantine clock synchronisation is almost as easy as consensus, J. ACM 66 (5) (2019).
[28]
S. Bonomi, A.D. Pozzo, M. Potop-Butucaru, S. Tixeuil, Approximate agreement under mobile Byzantine faults, Theor. Comput. Sci. 758 (2019) 17–29.
[29]
S. Dubois, M. Potop-Butucaru, M. Nesterenko, S. Tixeuil, Self-stabilizing Byzantine asynchronous unison, J. Parallel Distrib. Comput. 72 (7) (2012) 917–923.
[30]
A. Maurer, Self-stabilizing Byzantine-resilient communication in dynamic networks, in: OPODIS, in: LIPIcs, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, vol. 184, 2020.
[31]
A. Binun, T. Coupaye, S. Dolev, M. Kassi-Lahlou, M. Lacoste, A. Palesandro, R. Yagel, L. Yankulin, Self-stabilizing Byzantine-tolerant distributed replicated state machine, in: Stabilization, Safety, and Security of Distributed Systems SSS'16, 2016, pp. 36–53.
[32]
S. Dolev, C. Georgiou, I. Marcoullis, E.M. Schiller, Self-stabilizing Byzantine tolerant replicated state machine based on failure detectors, in: Cyber Security Cryptography and Machine Learning - Second International Symposium CSCML'18, 2018, pp. 84–100.
[33]
Duvignau, R.; Raynal, M.; Schiller, E.M. (2021): Self-stabilizing Byzantine- and intrusion-tolerant consensus. CoRR arXiv:2110.08592 [abs] : Self-stabilizing Byzantine- and intrusion-tolerant consensus. arXiv:2110.08592 : Self-stabilizing Byzantine- and intrusion-tolerant consensus. https://arxiv.org/abs/2110.08592.
[34]
C. Georgiou, I. Marcoullis, M. Raynal, E.M. Schiller, Loosely-self-stabilizing Byzantine-tolerant binary consensus for signature-free message-passing systems, in: Networked Systems - 9th International Conference, NETYS, in: LNCS, vol. 12754, Springer, 2021, pp. 36–53.
[35]
A. Mostéfaoui, M. Raynal, Signature-free broadcast-based intrusion tolerance: never decide a Byzantine value, in: Principles of Distributed Systems, OPODIS'10, 2010, pp. 143–158.
[36]
S. Dolev, T. Petig, E.M. Schiller, Self-stabilizing and private distributed shared atomic memory in seldomly fair message passing networks, Algorithmica 85 (1) (2023) 216–276.
[37]
P. Blanchard, S. Dolev, J. Beauquier, S. Delaët, Practically self-stabilizing Paxos replicated state-machine, in: NETYS, in: LNCS, vol. 8593, Springer, 2014, pp. 99–121.
[38]
M.J. Fischer, N.A. Lynch, M. Paterson, Impossibility of distributed consensus with one faulty process, J. ACM 32 (2) (1985) 374–382.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Theoretical Computer Science
Theoretical Computer Science  Volume 972, Issue C
Sep 2023
161 pages

Publisher

Elsevier Science Publishers Ltd.

United Kingdom

Publication History

Published: 13 September 2023

Author Tags

  1. Reliable broadcast
  2. Fault-tolerance
  3. Self-stabilization

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media