Partager

MAX, un environnement pour expérimenter des applications de blockchain

MAX est un simulateur d’applications et de protocoles mettant en jeu des technologies de registres distribués. Il permet par exemple de simuler différentes blockchains. Il met à disposition une bibliothèque de protocoles prêts à l’emploi, comme Tendermint, Hyperledger, Bracha’s BRB ou DagRider. Son moteur de simulation à base d’agents offre une grande latitude en termes de scénarios d’expérimentation d’applications complexes et distribuées, incluant la présence d’un adversaire programmable et la gestion probabiliste des délais de communication.

L'usage

Prototypage et la validation d’applications sur registres distribués

MAX permet de simuler des systèmes distribués modélisés en trois couches  : une couche réseau où les communications pair à pair sont simulées et peuvent être paramétrées via des distributions probabilistes de délai de transmissions ; une couche algorithmique, où sont implémentées des fonctions de plus haut niveau, telles que des protocoles de diffusion fiable (reliable broadcast), de consensus, et, plus largement, des registres distribués ; et enfin une couche applicative, qui implémente le service fourni par le système distribué.

MAX fournit un outillage de monitoring détaillé des simulations sur chacune des trois couches. Ceci inclus à la fois des métriques quantitatives sur les données transitant entre les nœuds et qualitatives sur le respect de propriétés de sécurité.

Il est également possible de simuler un adversaire pouvant maîtriser la couche réseau (créer, supprimer, rediriger ou ralentir des messages) et/ou prendre le contrôle d’un sous-ensemble des nœuds. Ceci permet d’évaluer la robustesse d’un système aussi bien que d’observer l’impact qu’un adversaire plus ou moins puissant peut avoir sur les propriétés de sécurité.

MAX inclut une collection de protocoles sur étagère avec, par exemple, Tendermint/CometBFT, HyperLedger Fabric ou DagRider ainsi que des attaques visant spécifiquement ces algorithmes.

Ses atouts

Modèles sur étagère, paramétrisation, modularité, modèle adversarial

Ses principales forces :

  • Modèles sur étagère : Divers algorithmes ont été implémentés et sont prêt à l’usage. Ceci inclus des algorithmes de diffusion fiable comme le Bracha’s Byzantine Reliable Broadcast, des algorithmes de consensus comme Tendermint, des Blockchains comme HyperLedger Fabric ou des DAGs comme DagRider.
  • Paramétrisation : L’expérimentateur dispose de nombreuses manières de paramétrer les simulations y compris la possibilité de faire varier ces paramètres dynamiquement au cours de la simulation. Dans la couche réseau, il est possible de définir une distribution de délai spécifique entre chaque paire de nœuds et pour chaque type de message. Dans les couches algorithmiques, selon les protocoles concernés, diverses options sont possibles. Par exemple, pour Tendermint, il est possible de paramétrer les valeurs de timeout pour chaque nœud. Pour DagRider, il est possible de spécifier la politique avec laquelle chaque nœud va émettre de nouveaux blocs à ajouter dans le DAG.
  • Modularité : Les protocoles de diffusion implémentent une interface commune et sont interchangeables. De même, les registres distribués implémentent une interface commune et on peut aussi bien utiliser un protocole blockchain comme Tendermint/CometBFT ou un DAG comme DagRider pour exécuter la même application.
  • Modèle d’adversaire  : Le modèle d’adversaire permet d’évaluer la robustesse des systèmes étudiés en simulant des attaques et des comportements malveillants. La paramétrisation dynamique peut donner à l’adversaire un pouvoir proche de celui de l’expérimentateur. Cela permet, entre autres, à l’adversaire, de créer, supprimer, rediriger ou ralentir des messages dans la couche réseau et de modifier, dans les couches algorithmiques et applicative, le comportement de certains nœuds qu’il infecte.

Prototypage et évaluation de solutions distribuées

Applications :
  • Analyses quantitatives et évaluations empiriques d’algorithmes distribués.
  • Comparaisons d’algorithmes alternatifs dans les mêmes conditions d’utilisation maîtrisées.
Cas d'usage

Évaluation de la robustesse au front-running

Dans le cadre du projet CyberQL, en partenariat avec EDF, MAX a été utilisé pour évaluer et comparer la tolérance à la censure de deux registres distribués différents. La résistance à la censure désigne la capacité d’un système à garantir que les transactions ne peuvent être arbitrairement bloquées, retardées ou modifiées par une entité malveillante. L’étude porte sur un protocole de blockchain permissionnée classique (HyperLedger Fabric) et un protocole basé sur un DAG (DagRider). La tolérance à la censure était particulièrement pertinente pour le cas d’usage d’EDF qui impliquait la notarisation de rapports d’étude sur des installations techniques. Ces travaux ont été poursuivis et généralisé à l’étude de propriétés de sécurité plus avancées, comme l’order fairness, qui établit des ordres à respecter pour le traitement des transactions en entrée du registre. Ces études ont donné lieu à des publications.

Publications

Adversary-Augmented Simulation to evaluate order-fairness on HyperLedger Fabric, E. Mahe, R. Abdallah, S. Tucci-Piergiovanni, P-Y. Piriou. In LADC 2024

Simulation study of Sycomore++, a self-adapting graph-based permissionless distributed ledger, A. Djari, E. Anceaume, S. Tucci-Piergiovanni. In BRAINS 2022

An extensive agent-based simulation study of sycomore++, a DAG-based permissionless ledger, A. Djari, E. Anceaume, S. Tucci-Piergiovanni. In SAC 2022

Blockchain Abstract Data Type, E. Anceaume, A. Del Pozzo, R. Ludinard, M. Potop-Butucaru, and S. Tucci-Piergiovanni. In SPAA 2019

Dissecting Tendermint, Y. Amoussou-Guenou, A. Del Pozzo, M. Potop-Butucaru, and S. Tucci-Piergiovanni. In NETYS 2019

A generic testing framework for agent-based simulation models, Ö. Gürcan, O. Dikenelli, C. Bernon. In J. of Simulation 2013

 

À lire également