Thèse soutenue

Étude du potentiel des approches à base de graphes et dans les blockchains

FR  |  
EN
Auteur / Autrice : Mohamed Aimen Djari
Direction : Emmanuelle Anceaume
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 06/12/2022
Etablissement(s) : Rennes 1
Ecole(s) doctorale(s) : MATHSTIC
Partenaire(s) de recherche : Laboratoire : Institut de recherche en informatique et systèmes aléatoires (Rennes)
Jury : Président / Présidente : Bruno Sericola
Examinateurs / Examinatrices : Quentin Bramas, Pierre-Yves Piriou, Sara Tucci-Piergiovanni
Rapporteurs / Rapporteuses : Silvia Bonomi, Sébastien Monnet

Résumé

FR  |  
EN

Les chaînes de blocs sont des systèmes de pair à pair dans lesquels les utilisateurs peuvent échanger des actifs numériques sans autorité de validation centrale. Il s'agit d'un grand livre distribué maintenu par la communication entre les nœuds du réseau. C'est un grand livre sur lequel toutes les opérations sont enregistrées, ce qui contribue à sa transparence puisque chaque ajout dans la blockchain peut être lu par tous et pour toujours (tant que le réseau existe). Selon l'application souhaitée, le bon fonctionnement de la blockchain repose sur trois piliers communs : (i) la décentralisation, (ii) la sécurité et (iii) l'évolutivité. Une solution qui permettrait de réunir ces trois caractéristiques est actuellement considérée comme une utopie que l'on appelle le trilemme de la blockchain, une croyance selon laquelle une crypto-monnaie doit nécessairement sacrifier l'un de ces trois piliers. Au cours de cette thèse, les enjeux ont rapidement été ceux de la recherche de performance, notamment en termes de scalabilité sans pour autant négliger les deux autres aspects du trilemme. Nous avons alors commencé par étudier Sycomore, une blockchain PoW non permissionnée, immuable et sécurisée, dont la structure est basée sur des graphes. C'est au cours de l'étude de Sycomore que nous avons proposé Sycomore, un protocole de blockchain basé sur Sycomore dont la principale caractéristique est d'auto-adapter dynamiquement le nombre de blocs créés au nombre actuel de transactions soumises. Les résultats de cette étude ont été publiés dans les actes de conférences à comité de lecture. Dans un second temps, après avoir montré l'apport d'une solution classique à base de graphe dans le trilemme de la blockchain, nous nous sommes intéressés aux solutions de sharding qui, compte tenu de leur structure en graphe, nous ont semblé être les solutions à base de graphe les plus avancées et les plus prometteuses en termes de scalabilité. C'est dans ce contexte que nous proposons Yggdrasil, une solution de sharding d'état pour les blockchains sans permissions qui supporte à la fois les transactions de paiement et les smart contracts. Yggdrasil permet de diviser et de fusionner dynamiquement les shards en s'appuyant sur des mécanismes décentralisés pour affecter les nœuds aux shards de manière sécurisée. Dans ce travail, nous proposons également un nouveau protocole 2-Phase-Commit pour garantir l'exécution de smart contracts distribués sur différents shards, même lorsque les shards se réorganisent dynamiquement. Une étude expérimentale confirme la capacité d'Yggdrasil à évoluer et à s'adapter à la charge de transactions avec des performances très prometteuses, meilleures que celles de Sycomore++ en termes de scalabilité. Le principal avantage du state-sharding étant de réduire les coûts de communication et de stockage, les solutions qui l'implémentent ont tendance à évoluer plus facilement. Un autre avantage est sa capacité à maintenir une forte décentralisation en habilitant plus de nœuds dans des shards séparés sans entraver sa sécurité. Au moment de la rédaction de ce manuscrit, les résultats de cette étude sur Yggdrasil ont été soumis pour publication à VLDB 2023 et un rapport technique présentant les résultats est disponible.