Titre de l'écran-titre (visionné le 28 février 2024) / Avec l'avènement de la technologie de la chaîne de blocs, un nouveau type de contrat appelé contrat intelligent a émergé. Les contrats intelligents sont des programmes informatiques permettant de formaliser des accords contractuels complexes tout en assurant automatiquement le respect de ces accords sans l'aide d'intermédiaires de confiance. Aujourd'hui, ils gèrent des millions de dollars en jetons numériques et effectuent des tâches quotidiennes de processus métier. Compte tenu des énormes enjeux financiers, les pirates informatiques sont plus que jamais motivés à exploiter tout bogue dans les contrats intelligents ou l'infrastructure sous-jacente. Une grande prudence est donc requise avant le déploiement des contrats intelligents, d'autant plus qu'ils deviennent immuables (*pas de possibilité de les modifier*) une fois déployés sur la chaîne de blocs. Écrire des contrats intelligents sécurisés et fiables est une tâche ardue et les méthodes existantes de sécurisation des contrats intelligents reposent largement sur l'expérience du programmeur, laissant ainsi place à des erreurs de logique et d'inattention. Dans cette thèse, nous proposons une approche novatrice basée sur la réécriture de programmes pour renforcer la sécurité des contrats intelligents. Plus précisément, étant donné un contrat intelligent *S* et une politique de sécurité *ϕ*, nous dérivons un nouveau contrat intelligent *S'* à partir de *S* et de *ϕ* de telle sorte que *S′* satisfait la politique de sécurité *ϕ* et reste correct par rapport à *S*. Le contrat *S′* (*c'est-à-dire le contrat sécurisé*) est celui qui sera en fin de compte déployé sur la chaîne de blocs. L'approche présentée utilise l'algèbre SBPA$^\textup{*}_\textup{0,1}$ qui est une variante de BPA$^\textup{*}_\textup{0,1}$ (*Basic Process Algebra*) étendue avec des variables, des environnements et des conditions pour formaliser et résoudre le problème. Le problème de trouver la version sécuritaire *S′* à partir de *S* et de *ϕ* se transforme en un problème de résolution d'un système d'équations linéaires pour lequel nous savons déjà comment extraire la solution dans un temps polynomial. Cette recherche contribue à combler le fossé dans la sécurisation des contrats intelligents et ouvre la voie à une adoption plus large de cette technologie révolutionnaire. / With the advent of blockchain technology, a new type of contract called smart contract has emerged. Smart contracts are computer programs to formalize complex contractual agreements while automatically ensuring compliance with these agreements without the help of trusted intermediaries. Today, they manage millions of dollars in digital tokens and perform daily business process tasks. Given the huge financial stakes, hackers are more motivated than ever to exploit any bugs in smart contracts or the underlying infrastructure. Great caution is therefore required before deploying smart contracts, especially since they become immutable (*no possibility to modify them*) once deployed on the blockchain. Writing secure and reliable smart contracts is a daunting task and existing methods of securing smart contracts rely heavily on the experience of the programmer, leaving room for errors of logic and carelessness. In this thesis, we propose an innovative approach based on program rewriting to strengthen the security of smart contracts. Specifically, given a smart contract *S* and a security policy *ϕ*, we derive a new smart contract *S′* from *S* and *ϕ* such that *S′* satisfies the security policy *ϕ* and remains correct with respect to *S*. The *S′* contract (*i.e. the secure contract*) is the one that will ultimately be deployed on the blockchain. The presented approach uses the algebra SBPA$^\textup{*}_\textup{0,1}$ which is a variant of BPA$^\textup{*}_\textup{0,1}$ (*Basic Process Algebra*) extended with variables, environments and conditions to formalize and solve the problem. The problem of finding the secure version *S′* from *S* and *ϕ* turns into a problem of solving a system of linear equations for which we already know how to extract the solution in polynomial time. This research helps bridge the gap in securing smart contracts and paves the way for wider adoption of this game-changing technology.
Identifer | oai:union.ndltd.org:LAVAL/oai:corpus.ulaval.ca:20.500.11794/136603 |
Date | 11 March 2024 |
Creators | Hounwanou, Honoré |
Contributors | Mejri, Mohamed |
Source Sets | Université Laval |
Language | French |
Detected Language | French |
Type | COAR1_1::Texte::Thèse::Thèse de doctorat |
Format | 1 ressource en ligne (viii, 196 pages), application/pdf |
Rights | http://purl.org/coar/access_right/c_abf2 |
Page generated in 0.0017 seconds