Alors que les smart contracts sur cryptomonnaies florissent, les industries hésitent à explorer les nouvelles opportunités qui viennent avec cette technologie. Cette hésitation a son origine dans la transparence de la technologie fondamentale, la blockchain. La blockchain est un registre distribué enregistrant des transactions dans des blocs pour les insérer dans la chaîne avant de parvenir à un consensus par les parties participantes (i.e. les nœuds) sur l’ordre des blocs. Les données stockées dans les blockchains publiques (permissionless) sont librement accessibles, ce qui est une inquiétude majeure des entreprises. Dans le cas des smart contracts, c’est le protocole transactionnel qui est stocké dans la blockchain et qui exécute les termes du contrat dès que les conditions sont satisfaites. Les smart contracts déployés en utilisant des implémentations traditionnelles (par ex. Ethereum) exposent les entreprises au risque que leurs actifs et interactions commerciales soient rendus publics. Le désavantage de ces implémentations est qu’elles ne garantissent aucune confidentialité pour protéger les données traitées (c’est à dire les actifs et interactions commerciales) ou le contrat lui-même. Des nouvelles technologies sont en développement pour permettre de surmonter ces obstacles.
Ces cinq dernières années, les fabricants de processeur d’ordinateur ont livré un nombre grandissant d’unités de traitement équipées d’un environnement d’exécution de confiance (trusted execution environment, TEE). Un TEE est un espace isolé du processeur dédié à l’exécution confidentielle des programmes qui empêche tout accès en dehors du périmètre de sécurité, même dans le pire des cas où un système d’exploitation serait compromis. Les TEE sont déjà présents dans nos smartphones et, actuellement, on les trouve aussi dans les ordinateurs personnels et les serveurs. En exploitant la garantie de confidentialité des TEE, les données des smart contracts peuvent être traitées de manière à être entièrement protégées du reste du processeur. Dès que les transactions d’un smart contract sont exécutées, ses données sont chiffrées et stockées dans la blockchain pour maintenir confidentielles les données critiques. A aucun moment les actifs ou interactions commerciales sont exposés publiquement durant leur traitement par les smart contracts confidentiellement exécutés dans le TEE. Cependant, les TEE ne peuvent pas être utilisés de manière générale pour protéger toute utilisation de la technologie blockchain. En particulier, les cryptomonnaies dépendant d’un protocole de consensus non définitif, tel que preuve de travail (proof of work ou PoW) ou preuve d’enjeu (proof of stake ou PoS) qui sont utilisés respectivement par les blockchains Bitcoin ou Ethereum, rendent les TEE vulnérables à un type particulier de problème de sécurité. C’est pourquoi les TEE sont préférablement utilisés avec des technologies blockchain qui dépendent d’un consensus définitif (par ex. la tolérance aux pannes byzantines ou le quorum), tel que Hyperledger Fabric ou le Confidential Consortium Framework de Microsoft. Un avantage majeur des protocoles de consensus définitif est leur garantie de cohérence stricte pour réduire la complexité algorithmique et les besoins énergétiques, qui sont devenus des problèmes cruciaux pour Bitcoin et Ethereum contribuant notamment à la pénurie actuelle des dispositifs informatiques au niveau mondial.
Hyperledger Fabric Private Chaincode et TZ4Fabric sont deux projets de recherche qui tentent d’isoler l’exécution des smart contracts dans le TEE, ce qui est le cas en particulier de l’infrastructure logicielle à code source ouvert Hyperledger Fabric. Ces solutions démontrent que les smart contracts confidentiels sont réalisables et surtout résistants à de multiples cyberattaques grâce aux TEE. TZ4Fabric est le prototype pour lequel la chaire de systèmes complexes de l’Université de Neuchâtel a participé à la collaboration et qui permet en particulier aux appareils mobiles et à l’Internet des objets (objets connectés) d’exécuter des smart contracts confidentiels en utilisant le TEE ARM TrustZone. Avec l’introduction des smart contracts confidentiels, les entreprises ont de nouvelles possibilités avec des garanties de sécurité supplémentaires par rapport aux technologies de smart contract actuelles. Quant à savoir si le statut juridique des smart contracts (confidentiels) sera reconnu au niveau mondial de manière à permettre de nouvelles relations commerciales numériques nationales et internationales, cette question reste pour l’heure ouverte.
Auteur(s) de cette contribution :
Doctorant à la Chaire de systèmes complexes de l'institut d'informatique à l'Université de Neuchâtel. Je recherche et développe des solutions autour de la sécurité et l'efficacité énergétique des systèmes distribués, notamment des blockchains.
PhD student at the Complex Systems research group of the Computer Science department at the University of Neuchâtel. I am researching and developing solutions around the security and energy efficiency of distributed systems, including blockchains.