Thèse soutenue

Réplication de machines à états sans leader : des fautes franches aux fautes byzantines

FR  |  
EN
Auteur / Autrice : Tuanir Franca Rezende
Direction : Denis ConanPierre Sutra
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 17/12/2021
Etablissement(s) : Institut polytechnique de Paris
Ecole(s) doctorale(s) : École doctorale de l'Institut polytechnique de Paris
Partenaire(s) de recherche : Laboratoire : Télécom SudParis (France) - Institut Polytechnique de Paris / IP Paris - Département Informatique / INF - Algorithmes, Composants, Modèles Et Services pour l'informatique répartie / ACMES-SAMOVAR
Etablissement opérateur d'inscription : Télécom SudParis (France)
Jury : Président / Présidente : Pierre Sens
Examinateurs / Examinatrices : Pierre Sutra, Janna Burman, Étienne Rivière, Maryline Laurent
Rapporteurs / Rapporteuses : Janna Burman, Étienne Rivière

Résumé

FR  |  
EN

Les services distribués modernes doivent être hautement disponibles, car nos sociétés en sont de plus en plus dépendantes. La manière la plus courante d'obtenir une haute disponibilité est de répliquer les données dans plusieurs répliques du service. De cette façon, le service reste opérationnel en cas de pannes, car les clients peuvent être relayés vers d'autres répliques qui fonctionnent. Dans les systèmes distribués, la technique classique pour mettre en œuvre de tels services tolérants aux pannes est appelée réplication de machine d'état (State-Machine Replication, SMR), où un service est défini comme une machine d'état déterministe et chaque réplique conserve une copie locale de la machine. Pour garantir la cohérence du service, les répliques se coordonnent entre elles et conviennent de l'ordre des transitions à appliquer à leurs copies de la machine d'état. La réplication effectuée par les services Internet modernes s'étend sur plusieurs lieux géographiques (géo-réplication). Cela permet une disponibilité accrue et une faible latencea, puisque les clients peuvent communiquer avec la réplique géographique la plus proche. En raison de leur dépendance avec une réplique leader, coordonnant les changements de transition, les protocoles SMR classiques offrent une évolutivité et une disponibilité limitées dans ce contexte. Pour résoudre ce problème, les protocoles récents suivent plutôt une approche sans leader, dans laquelle chaque réplique est capable de progresser en utilisant un quorum de ses pairs. Ces nouveaux protocoles sans leader sont complexes et chacun d'entre eux présente une approche ad-hoc de l'absence de leader. La première contribution de cette thèse est un framework qui capture l'essence de SMR sans leader (Leaderless SMR) et la formalisation de certaines de ses limites. En raison de la nature de plus en plus sensible des services répliqués, l'utilisation de simples pannes bénignes n'est plus suffisante. Les recherches récentes se dirigent vers le développement de protocoles qui supportent le comportement arbitraire de certaines répliques (pannes Byzantines) et qui prospèrent également dans un environnement géo-répliqué. Les blockchains sont un exemple de ce nouveau type de services répliqués sensibles qui a fait l'objet de nombreuses recherches. Les blockchains sont alimentées par des protocoles de réplication byzantins adaptés pour fonctionner sur des centaines, voire des milliers de répliques. Lorsque le contrôle de membership à ces répliques est ouvert, c'est-à-dire que n'importe qui peut faire fonctionner une réplique, on dit que la blockchain est permissionless. Dans le cas inverse, lorsque l'adhésion est contrôlée par un ensemble d'entités connues, comme des entreprises, nous disons que la blockchain est permissioned. Les blockchains permissioned utilisent des protocoles SMR byzantins. Comme ces protocoles utilisent un leader, ils souffrent de problèmes d'évolutivité et de disponibilité, de la même manière que leurs homologues non byzantins. Dans la deuxième partie de cette thèse, nous adaptons notre framework pour supporter les pannes byzantines et présentons le premier framework pour le SMR byzantin sans leader. De plus, nous montrons que lorsqu'il est correctement instancié, il permet de contourner les problèmes de scalabilité dans les protocoles SMR byzantins dirigés par des leaders pour les permissioned blockchains.