Byzantine consensus and blockchain : Models unification and new protocols
| Auteur / Autrice : | Antoine Durand |
| Direction : | Gérard Memmi |
| Type : | Thèse de doctorat |
| Discipline(s) : | Informatique |
| Date : | Soutenance le 24/11/2021 |
| Etablissement(s) : | Institut polytechnique de Paris |
| Ecole(s) doctorale(s) : | École doctorale de l'Institut polytechnique de Paris |
| Partenaire(s) de recherche : | Laboratoire : Laboratoire Traitement et communication de l'information (Paris ; 2003-....) |
| Fondation : Institut de recherche technologique SystemX (Palaiseau, Essonne) | |
| Jury : | Président / Présidente : Petr Kuznetsov |
| Examinateurs / Examinatrices : Gérard Memmi, Petr Kuznetsov, Maria Potop-Butucaru, Pierre Jouvelot, Joaquin Garcia-Alfaro, Sara Tucci-Piergiovanni, Emmanuelle Anceaume | |
| Rapporteurs / Rapporteuses : Maria Potop-Butucaru, Pierre Jouvelot | |
| DOI : | 10.70675/b441c3a1zf42cz4cd7z8594z7121c5089d1f |
Mots clés
Résumé
Les applications distribuées utilisent des protocoles de consensus afin de maintenir un état consistent sur plusieurs machines dans un réseau. L'avènement récent de bitcoin et des algorithmes basés sur la blockchain a suscité un regain d'intérêt pour ces protocoles, notamment en ce qui concerne leur capacité à passer à l'échelle et à tolérer les participants malicieux. Cependant, cette attention a été source de confusion, submergeant un sujet déjà vaste et complexe avec des assertions imprécises et une terminologie variable. Dans cette thèse, nous proposons une unification des fondamentaux de la blockchain, grâce à un formalisme capturant un large éventail de modèles communs pour les protocoles de consensus. Nous utilisons ce formalisme pour décrire les spécifications de divers protocoles de consensus d'intérêt pour la blockchain. Nous recadrons et précisons les théorèmes qui décrivent les conditions dans lesquelles un protocole est possible ou non. Nous utilisons également notre formalisme pour décrire le modèle de plusieurs blockchains de référence malgré leurs différences fondamentales, et nous pouvons également évaluer et comparer finement leurs caractéristiques de performance. Ensuite, nous faisons une proposition pour une blockchain, StakeCube. La sécurité de StakeCube est basée sur le modèle de preuve d'enjeu (Proof-of-Stake), et sa capacité de passage à l'échelle repose sur un principe du partitionnement (sharding), qui est mis en œuvre par une table de hachage distribuée. Nous avons également implémenté une version restreinte de StakeCube et évalué ses performances, validant ainsi sa propriété de passage à l'échelle. Notamment, comme StakeCube troque la preuve de travail (Proof-of-Work) contre la preuve d'enjeu sans sacrifier le passage à l'échelle, ce protocole est particulièrement bien adapté aux applications IoT. Pour mieux démontrer cet aspect, nous avons implémenté une application IoT de marché d'énergie dans StakeCube et avons pu tester avec succès sa viabilité.