Tractable Reliable Communication in Compromised Networks
Communication fiable et soluble dans des réseaux compromis
Résumé
Reliable communication is a fundamental primitive in distributed systems prone to Byzantine (i.e. arbitrary, and possibly malicious) failures to guarantee the integrity, delivery, and authorship of the messages exchanged between processes. Its practical adoption strongly depends on the system assumptions. Several solutions have been proposed so far in the literature implementing such a primitive, but some lack in scalability and/or demand topological network conditions computationally hard to be verified. This thesis aims to investigate and address some of the open problems and challenges implementing such a communication primitive. Specifically, we analyze how a reliable communication primitive can be implemented in 1) a static distributed system where a subset of processes is compromised, 2) a dynamic distributed system where part of the processes is Byzantine faulty, and 3) a static distributed system where every process can be compromised and recover. We define several more efficient protocols and we characterize alternative network conditions guaranteeing their correctness.
Une communication fiable est une primitive fondamentale dans les systèmes distribués sujets aux pannes Byzantines (c'est-à-dire arbitraires et éventuellement malveillants) pour garantir l'intégrité, l’authenticité et la livraison des messages échangés entre les processus. Son adoption pratique dépend fortement des hypothèses du système. Plusieurs solutions ont été proposées jusqu'à présent dans la littérature mettant en œuvre une telle primitive, mais certaines manquent d'évolutivité et / ou exigent des conditions de réseau topologiques difficiles à vérifier. Cette thèse vise à étudier et à résoudre certains des problèmes et défis ouverts implémentant une telle primitive de communication. Plus précisément, nous analysons comment une primitive de communication fiable peut être implémentée dans 1) un système distribué statique où un sous-ensemble de processus est compromis, 2) un système distribué dynamique où une partie des processus est Byzantiné, et 3) un système distribué statique où chaque processus peut être compromis et récupérer. Nous définissons plusieurs protocoles plus efficaces et nous caractérisons des conditions de réseau alternatives garantissant leur exactitude.
Origine : Version validée par le jury (STAR)