A framework for semi-automated design and implementation of blockchain applications - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2023

A framework for semi-automated design and implementation of blockchain applications

Un framework pour la conception et l'implémentation semi-automatique d'applications blockchain

Nicolas Six

Résumé

Context - Blockchain differs from conventional technologies through its unique characteristics, such as decentralization, immutability, or resiliency. However, in spite of the growing interest in blockchain technology from academia and industry, there are still major obstacles to wide blockchain adoption. Problem - Blockchain qualities come with several drawbacks, such as a low transaction output, data privacy concerns, and application inflexibility due to smart contract immutability once deployed. Failing to handle these drawbacks might lead to blockchain applications misaligned with initial requirements, high operation costs, high maintenance costs, as well as threats to security and privacy. These issues hinder the integration of blockchain technology into existing or new architectures and systems by practitioners. Results - This thesis proposes a semi-automated end-to-end framework named Harmonica for the design and implementation of blockchain applications. This thesis presents three original contributions. First, a knowledge base to support the recommendation process. To constitute the core of the knowledge base, a systematic literature review was performed to identify, extract, then standardize existing blockchain-based software patterns. The knowledge base is stored as an ontology, that contains the attributes and relations of identified blockchain-based software patterns and blockchains. Second, an automated decision process to recommend a blockchain technology and blockchain-based patterns in a given context. Given a set of requirements, the decision process is able to output a ranking of blockchain technologies to help the user in the selection of an adequate technology. Third, a tool capable of reusing the recommendations to generate a functioning and complete blockchain application. These parts are both related to the implementation and deployment of the blockchain application: a set of smart contracts is generated and augmented with selected blockchain-based software patterns, and deployment scripts are proposed to support the deployment of smart contracts on the target blockchain. Method - The construction of this framework and its artifacts has been made possible by following the Design Science Research (DSR) method for information systems from Wieringa et al. Following this approach, the framework is constituted of a knowledge base and two code artifacts. Each refinement on the knowledge base helps to refine the code artifacts, and vice-versa. Conclusion - The combination of produced artifacts form a toolkit that facilitates the process of creating blockchain-based applications, from their design to their implementation. The proposed tools can be used independantly from each other to support a specific activity of blockchain-based software development, or together as they each profit from each other’s output. Each part of the framework has been validated independently using case studies and user surveys to ensure they adequately support the different steps of software development, from conception to implementation.
Contexte - La blockchain se distingue des technologies conventionnelles par ses caractéristiques uniques, telles que la décentralisation, l’immuabilité ou la résilience. Toutefois, malgré l’intérêt croissant que suscite la technologie blockchain dans les milieux universitaires et industriels, l’adoption à grande échelle de la blockchain se heurte encore à des obstacles majeurs. Problème - Les technologies blockchain s’accompagnent de plusieurs inconvénients, tels qu’un faible débit de transactions à la seconde, des problèmes de confidentialité des données et une rigidité des applications due à l’immutabilité des smart-contracts (contrats intelligents) une fois déployés. Si ces inconvénients ne sont pas considérés, les applications blockchain peuvent ne pas correspondre aux exigences initiales, entraîner des coûts d’exploitation et de maintenance élevés, ainsi que des problèmes de sécurité et de confidentialité. Ces problèmes entravent l’intégration de la technologie blockchain dans les architectures et systèmes existants ou nouveaux. Résultats - Cette thèse propose un cadre semi-automatisé de bout en bout nommé Harmonica pour la conception et la mise en œuvre d’applications blockchain. Cette thèse présente trois contributions originales. Premièrement, une base de connaissances pour soutenir le processus de recommandation. Pour constituer le cœur de la base de connaissances, une revue systématique de la littérature a été réalisée pour identifier, extraire, puis normaliser les patterns (patrons) logiciels existants basés sur la blockchain. La base de connaissances est stockée sous la forme d’une ontologie qui contient les attributs et les relations des patterns de logiciels basés sur les blockchains et des blockchains identifiées. Deuxièmement, un processus de décision automatisé pour recommander une technologie blockchain et des patterns basés sur la blockchain dans un contexte donné. Compte tenu d’un ensemble d’exigences, le processus de décision est capable de produire un classement d’un ensemble de technologies blockchain et des patterns basés sur la blockchain afin d’aider l’utilisateur à concevoir son application. Troisièmement, un outil capable de réutiliser les recommandations pour générer une application blockchain fonctionnelle et complète. Ces parties sont toutes deux liées à la mise en œuvre et au déploiement de l’application blockchain : un ensemble de contrats intelligents est généré et complété par des patterns logiciels basés sur la blockchain, et des scripts de déploiement sont proposés pour soutenir le déploiement des contrats intelligents sur la blockchain cible. Méthode - La construction de ce framework et de ses artefacts a été rendue possible en suivant la méthode Design Science Research (DSR) pour les systèmes d’information de Wieringa et al. Selon cette approche, le framework est constitué d’une base de connaissances et de deux artefacts de code. Chaque amélioration de la base de connaissances permet d’améliorer les artefacts de code, et vice-versa. Conclusion - La combinaison des artefacts produits forme une boîte à outils qui facilite le processus de création d’applications basées sur la blockchain, de leur conception à leur mise en œuvre. Les outils proposés peuvent être utilisés indépendamment les uns des autres pour soutenir une activité spécifique du cycle de développement logiciel basés sur la blockchain, ou ensemble car ils profitent chacun des résultats de l’autre. Chaque partie du framework a été validée indépendamment à l’aide d’études de cas et de sondages auprès des utilisateurs afin de s’assurer qu’elles soutiennent correctement les différentes étapes du développement logiciel, de la conception à la mise en œuvre.
Fichier principal
Vignette du fichier
SIX.pdf (3.55 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-04186778 , version 1 (24-08-2023)

Identifiants

  • HAL Id : tel-04186778 , version 1

Citer

Nicolas Six. A framework for semi-automated design and implementation of blockchain applications. Databases [cs.DB]. Université Panthéon-Sorbonne - Paris I, 2023. English. ⟨NNT : 2023PA01E008⟩. ⟨tel-04186778⟩
125 Consultations
156 Téléchargements

Partager

Gmail Facebook X LinkedIn More