Professeur Sébastien Faust, expert en procédés de cryptographie. Crédit :Katrin Binner
Les blockchains promettent des applications Internet ouvertes à grande échelle qui sont organisées de manière décentralisée, mais cela se fait au prix d'une lenteur des performances pour chaque transaction traitée par le système. Les chercheurs en cryptographie travaillant avec le professeur Sebastian Faust ont acquis une notoriété mondiale grâce à leur approche visant à faciliter les transactions en temps réel à l'aide de chaînes de blocs telles que Ethereum.
Le paiement par carte de crédit est un processus rapide :le transfert d'argent n'est effectué que quelques secondes après que le client a placé une carte dans un lecteur ou saisi ses coordonnées en ligne. Ce processus permet à une entreprise organisée de manière centralisée telle que Visa de gérer plus de 50, 000 transactions par seconde aux heures de pointe. En utilisant une crypto-monnaie telle que Bitcoin, où les transactions sont traitées localement via une blockchain, un maximum de sept transactions peut être traité par seconde - une différence énorme qui entrave considérablement l'applicabilité de la technologie. Encore pire, le traitement d'une seule transaction peut également prendre plusieurs minutes. Ces inconvénients ne s'appliquent pas seulement au Bitcoin. Des applications encore plus complexes qui sont traitées à l'aide de contrats intelligents sur Ethereum sont également coûteuses et lentes.
Pourtant, la blockchain est conçue uniquement pour ces cas. Tout utilisateur peut télécharger et distribuer quelque chose via une blockchain, et n'importe qui peut en faire partie. Il est décentralisé, neutre et efficace la combinaison parfaite d'intermédiaire et de juge - mais c'est aussi lent. Interagir avec elle à moindre coût et en temps réel, telle est la vision de Sebastian Faust, Professeur de cryptographie appliquée, et son équipe. L'enjeu est que l'augmentation des performances ne doit pas se faire au détriment de la sécurité. La recherche fait partie du Centre de Recherche Collaborative CROSSING, qui est soutenu par la Fondation allemande pour la recherche.
Une blockchain est une chaîne de blocs qui contient l'état du système décentralisé. Dans le cas d'une devise telle que Bitcoin, il s'agirait d'opérations de paiement :qui paie qui combien. Chaque bloc contient également un hachage de toutes les données du bloc, une sorte d'empreinte digitale des données. Si l'une des données est modifiée, cela change la valeur de hachage. Par ailleurs, chaque bloc contient un hachage cryptographique du bloc précédent. Il en résulte une chaîne liée. Un nouveau bloc Bitcoin est créé par un participant au réseau – appelé mineur – en moyenne toutes les dix minutes. Ce bloc est ensuite vérifié par tous les autres participants et accepté comme nouveau bloc dans la chaîne si toutes les transactions et tous les calculs sont corrects. Cela fait du bloc une partie de la blockchain, sur la base duquel tous les mineurs tentent de trouver le prochain bloc. Si le bloc est incorrect, il est ignoré. Une transaction dans un bloc n'est acceptée que si elle a été publiée dans la blockchain et idéalement confirmée par plusieurs blocs, habituellement six. Cela empêche un attaquant de pouvoir publier des transactions ou des blocs incorrects. Bien que ce processus offre de solides garanties de sécurité, l'un de ses principaux défauts est que les utilisateurs peuvent devoir attendre jusqu'à 60 minutes pour la confirmation de nouvelles transactions.
Transactions plus complexes utilisant des contrats intelligents
Les contrats intelligents permettent aux participants d'effectuer des transactions beaucoup plus complexes que de simples paiements. Ces règles complexes peuvent être écrites dans un langage de programmation, où les paiements sont ensuite effectués en fonction de l'exécution du code. « Ce sont des contrats qui sont traités par la blockchain, " explique Sebastian Faust. " Intelligent signifie que les contrats contiennent des conditions logiques. Si, par exemple, quelqu'un veut vendre un fichier en ligne, alors le contrat intelligent contient la condition que l'argent ne sera pas payé jusqu'à ce que le fichier correct ait été livré. » Cela se produit automatiquement, ce qui est sans danger pour les deux parties. L'argent reste dans la blockchain jusqu'à l'envoi du fichier, mais le vendeur ne peut pas le dépenser ailleurs.
Un autre exemple de contrats intelligents sont les applications de communication entre véhicules autonomes. Certains camions sont capables de rouler de manière autonome sur les routes. Cependant, ils sont chers car ils nécessitent une grande quantité de technologie de capteur. Un camion semi-autonome ne peut pas rouler tout seul, mais pourrait être co-contrôlé par un autonome. Pour que cela fonctionne, le conducteur du camion semi-autonome devrait conclure un contrat avec l'autonome. Le conducteur pouvait dormir pendant ce temps sans avoir à faire une pause pour le faire spécifiquement. Un contrat intelligent pourrait faire tout cela s'il n'y avait pas le problème que la blockchain est actuellement trop lente pour des transactions rapides sur la route.
"Notre idée n'est pas de tout déplacer dans la blockchain, ", explique Faust. Cela signifie que les contrats sont d'abord exécutés directement entre les parties concernées et qu'en cas de litige, les parties utilisent le coûteux mécanisme de la blockchain. " "C'est un peu comme être au tribunal, " dit Faust. " Comme les procédures judiciaires sont lentes et coûteuses, les parties n'y vont que si elles ne parviennent pas à s'entendre entre elles. » L'avantage de cette approche est l'évolutivité. Les litiges étant une exception dans la vie quotidienne normale, des milliers de contrats pourraient être exécutés en temps réel, réduisant ainsi considérablement la charge sur la blockchain.
Les programmes informatiques complexes peuvent également contenir des problèmes de sécurité fatals. « Les contrats intelligents sont souvent mis en œuvre de manière incorrecte, ce qui rend difficile de garantir leur bon fonctionnement une fois intégrés dans un système plus vaste, ", explique Sebastian Faust. Un exemple frappant est le cas du contrat intelligent "The DAO". Dans "The DAO", un pirate a pu utiliser une erreur de programmation pour voler une crypto-monnaie d'une valeur de 50 millions de dollars. L'un des principaux objectifs de la les recherches menées à la TU Darmstadt visent à améliorer l'efficacité des systèmes blockchain tout en offrant de fortes garanties de sécurité.
Développer les protocoles cryptographiques pour ces processus est une entreprise complexe. Les chercheurs doivent définir les protocoles gérés par les différentes parties ainsi que les contrats intelligents sous-jacents. Un défi particulier est de minimiser l'interaction avec la blockchain, alors qu'en même temps la sécurité du protocole doit être garantie. En utilisant des modèles formels issus de la cryptographie, les chercheurs ont confirmé la sécurité des protocoles. Les prochaines étapes sont maintenant de publier le système Perun en tant que logiciel open source, et intégrer des systèmes de blockchain différents d'Ethereum.
Le système s'appelle Perun - d'après le dieu slave du tonnerre et de l'éclairage. Et ils ont eu un impact :les résultats ont reçu une large attention, à la fois de la communauté universitaire de la sécurité et d'entreprises telles que Bosch et la Fondation Ethereum, dont la blockchain prend en charge les contrats intelligents.