Détection de vulnérabilités sur les couches 2 de blockchains publiques
Auteur / Autrice : | Karolina Gorna |
Direction : | Rida Khatoun |
Type : | Projet de thèse |
Discipline(s) : | Informatique, données, IA |
Date : | Inscription en doctorat le 01/09/2023 |
Etablissement(s) : | Institut polytechnique de Paris |
Ecole(s) doctorale(s) : | École doctorale de l'Institut polytechnique de Paris |
Partenaire(s) de recherche : | Laboratoire : Laboratoire de Traitement et Communication de l'Information |
Equipe de recherche : C² - Cybersécurité et Cryptographie |
Mots clés
Mots clés libres
Résumé
Malgré leurs existences depuis plus de dix ans, les réseaux blockchains publiques sont encore très régulièrement attaqués, que ce soit aux niveaux protocolaires ou applicatifs. Leurs couches principales, communément appelées couches 1, sont composées de nuds validateurs ou mineurs qui communiquent entre eux afin de créer des blocs contenant des transactions de valeurs ou d'informations. Elles sont enregistrées dans une base de données commune stockée à l'intérieur de chaque client logiciel régissant les nuds du réseau. Ces nuds sont organisés autour d'un protocole de consensus, dont la nature et l'implémentation varie selon les blockchains. Elles doivent partager néanmoins toutes les caractères décentralisés et incensurables. En contrepartie de l'entretien du réseau, les nuds reçoivent des jetons générés nativement par le protocole de la blockchain. Ces jetons peuvent ensuite être échangés librement sur le réseau, moyennant une valeur financière basée sur l'offre et la demande. Pour modérer la quantité de transactions et la complexité des opérations, des frais variables sont systématiquement associés aux transactions, en faisant d'une majorité des blockchains, de facto, des machines de Turing quasi-complètes. Dès 2020, des problématiques de congestion des couches 1, notamment Ethereum, apparaissent du fait de leur forte utilisation. Cela se traduit par une explosion des frais de transactions : il y a beaucoup d'utilisateurs et pas assez de nuds pour répondre à la demande. L'implémentation de couches secondaires, appelées couches 2, est nécessaire afin de déléguer une partie des tâches d'exécution ne pouvant pas être traitées par les nuds de couche 1. Ainsi, on voit la construction de différents types de couches 2 : les canaux à états, les plasmas et les rollups. Actuellement, les rollups sont majoritairement utilisés pour leur caractère hybride, qui déplace le calcul et le stockage d'état hors de la couche 1 de la blockchain, tout en conservant certaines données par transaction sur cette même couche. Certains rollups reprennent la même architecture de machine virtuelle de leurs clients logiciel que les clients utilisés par les couches 1, en mettant en avant que les mêmes outils de développement et de sécurité peuvent y être utilisés. D'autres, choisissent de modifier profondément leur machine virtuelle pour améliorer la performance d'exécution des opérations. Toutes ces solutions prônent un niveau de sécurité équivalent aux couches 1, mais très peu d'études académiques se penchent sur l'exactitude de cette information. Cette thèse explore donc les possibles méthodes de détection de vulnérabilités sur ces nouveaux types de réseaux, les couches 2 de blockchains publiques.