Étude du potentiel des approches à base de graphes et dans les blockchains (Study of the potential of graph-based approaches in blockchains) Djari, Mohamed Aimen - (2022-12-06) / Universite de Rennes 1 - Étude du potentiel des approches à base de graphes et dans les blockchains
| |||
Langue : Anglais Directeur(s) de thèse: Anceaume, Emmanuelle Discipline : Informatique Laboratoire : IRISA Ecole Doctorale : MATHSTIC Classification : Informatique Mots-clés : Blockchain, Cryptomonnaie, Scalabilité, Méthodes de simulation, Graphes, Sharding
| |||
Résumé : 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. Abstract : Blockchains are peer-to-peer systems in which users can exchange digital assets without a central validation authority. It is a distributed ledger maintained through communication between the nodes of the network. It is a ledger on which all operations are recorded, which contributes to its transparency since every addition in the blockchain can be read by everyone and forever (as long as the network exists). Depending on the desired application, the proper functioning of the blockchain relies on three common pillars: (i) decentralization, (ii) security and (iii) scalability. A solution that would bring these three characteristics together is currently considered a utopia that is known as the blockchain trilemma, a belief that a crypto-currency must necessarily sacrifice one of these three pillars. During the course of this thesis, the issues at stake were quickly those of the quest for performance, particularly in terms of scalability without neglecting the other two aspects of the trilemma. We then started by studying Sycomore, an immutable and secure permisionless PoW blockchain with a graph-based structure. It is during the study of Sycomore that we propose Sycomore++, a blockchain protocol based on Sycomore whose main feature is to dynamically self-adapt the number of blocks created to the current number of transactions submitted. The results of this study have been published in the proceedings of peer-reviewed conferences. In a second step, after having shown the contribution of a classical graph-based solution in the blockchain trilemma, we looked at sharding solutions which, given their graph structure, seemed to us to be the most advanced graph-based solutions and the most promising in terms of scalability. It is in this context that we propose Yggdrasil, a state sharding solution for permisionless blockchains that supports both payment transactions and smart contracts. Yggdrasil allows for dynamic splitting and merging of shards by relying on decentralized mechanisms to assign nodes to shards in a secure manner. In this work, we also propose a new 2-Phase-Commit protocol to guarantee the execution of distributed smart contracts on different shards, even when shards dynamically reorganize. An experimental study confirms the ability of Yggdrasil to evolve and adapt to the transaction load with very promising performance, better than Sycomore++ in terms of scalability. Since the main benefit of state-sharding is to reduce communication and storage costs, solutions that implement it tend to scale more easily. Another advantage is its ability to maintain strong decentralization by empowering more nodes in separate shards without hindering its security. At the time of writing this manuscript, the results of this study on Yggdrasil have been submitted for publication to VLDB 2023 and a technical report presenting the results is available. |