Thèse soutenue

Byzantine consensus and blockchain : Models unification and new protocols

FR  |  
EN
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

Résumé

FR  |  
EN

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é.