Simple Science

La science de pointe expliquée simplement

# Informatique# Logique en informatique# Cryptographie et sécurité

Moniteurs Futurs : Un Pas en Avant pour les Contrats Intelligents

Les moniteurs futurs améliorent la fiabilité des contrats intelligents en prenant en compte les transactions futures.

― 8 min lire


Moniteurs du futur dansMoniteurs du futur dansles contrats intelligentsvenir.avec des prévisions de transactions àAméliorer les contrats intelligents
Table des matières

Les blockchains sont des systèmes qui permettent aux gens d'échanger des actifs numériques comme des tokens et des cryptomonnaies sans avoir besoin d'un tiers de confiance. Les smart contracts sont un type de programme qui tourne sur ces blockchains et qui contrôle comment ces échanges se déroulent. Une fois que ces smart contracts sont mis en place, ils ne peuvent pas être modifiés, ce qui veut dire qu'il est super important de s'assurer qu'ils fonctionnent bien pendant qu'ils opèrent. Les smart contracts traditionnels fonctionnent sur un système où, une fois qu'une opération est terminée, elle ne peut pas être annulée.

Dans cet article, on introduit l'idée des "future monitors", qui aident à s'assurer que les smart contracts peuvent attendre que certaines actions se produisent avant de finaliser leurs choix. Cette méthode s'inspire de nouveaux systèmes blockchain connus sous le nom d'optimistic rollups, qui améliorent leur efficacité en retardant les résultats des Transactions.

L'Importance des Smart Contracts

Les smart contracts jouent un rôle important dans la gestion des échanges sur la blockchain. Ils peuvent s'exécuter automatiquement lorsque certaines conditions sont remplies, permettant une large gamme de fonctions dans des applications comme la finance décentralisée, la gouvernance, et plus encore. Ces contrats sont généralement écrits dans des langages de programmation comme Solidity. Cependant, écrire des smart contracts peut être un vrai casse-tête, même s'ils sont plus petits que les logiciels traditionnels.

La nature ouverte de la blockchain signifie que n'importe qui peut appeler n'importe quel smart contract, ce qui permet aussi à des utilisateurs malveillants d'exploiter les vulnérabilités des contrats, entraînant des pertes de fonds. Une fois qu'un contrat est déployé, il ne peut pas être modifié, rendant nécessaire de s'assurer que ces contrats sont fiables avant qu'ils ne tournent.

Approches pour Assurer la Fiabilité

Il existe diverses façons d'améliorer la fiabilité des smart contracts. Les développeurs peuvent utiliser des techniques statiques, comme analyser le code avant qu'il soit exécuté, ou des techniques dynamiques qui vérifient comment le contrat se comporte pendant son exécution. Cet article se concentre sur le monitoring dynamique, qui permet aux contrats de vérifier si certaines conditions souhaitées sont respectées pendant qu'ils fonctionnent. Si une condition n'est pas remplie, le monitor peut empêcher la transaction entière de se finaliser.

Cependant, les techniques de monitoring existantes ont des limites. Par exemple, elles regardent souvent seulement des opérations ou des transactions uniques. Cet article propose une nouvelle façon de mettre en œuvre le monitoring qui prend en compte les transactions futures.

Future Monitors et Leur Mécanique

Les future monitors permettent aux contrats d'attendre des transactions futures spécifiques pour décider s'ils doivent finaliser ou abandonner leurs actions. C'est particulièrement utile dans des scénarios où les contrats dépendent de transactions futures pour faire leurs choix.

Le monitoring fonctionne via une période fixe connue sous le nom de "monitoring window", qui définit combien de temps le monitor peut observer les transactions futures.

Comment Fonctionnent les Future Monitors

Quand un smart contract est en cours d'exécution, il peut mettre en place un future monitor qui peut évaluer comment l'exécution des transactions à venir peut impacter la transaction actuelle. Si le monitor détermine qu'une transaction future respecte les conditions souhaitées, il peut permettre à la transaction actuelle de se poursuivre. Sinon, il peut faire échouer la transaction actuelle.

Cette méthode permet un meilleur contrôle sur des transactions complexes qui pourraient se dérouler sur plusieurs interactions. Elle améliore l'efficacité et la sécurité globales des smart contracts en tenant compte des actions futures.

Le Rôle des Blockchains

Les blockchains stockent une séquence de transactions regroupées en blocs, garantissant que les enregistrements de toutes les transactions exécutées sont permanents. Chaque transaction est constituée d'une série d'opérations initiées par des utilisateurs. Ces opérations interagissent avec des smart contracts, exécutant leurs programmes et pouvant potentiellement changer l'état de la blockchain.

Exécution des Transactions

Lorsqu'une transaction est initiée, si toutes les opérations qu'elle contient se terminent avec succès, la transaction est validée, rendant les changements permanents. Si une opération échoue ou si les ressources s'épuisent, la transaction échoue, et aucun changement n'est effectué, sauf pour la consommation des ressources. Chaque contrat maintient son propre état en fonction des ordres et des résultats des transactions précédentes.

Pour s'assurer que tout fonctionne comme prévu, on peut intégrer des future monitors dans les transactions pour suivre les résultats potentiels.

Avantages des Future Monitors

En utilisant des future monitors, les smart contracts peuvent maintenant réagir en fonction de ce qui pourrait se passer à l'avenir, permettant ainsi un modèle d'exécution plus adaptable. Ce système bénéficie à plusieurs types de contrats, en particulier ceux qui nécessitent des paiements ou des retours sur plusieurs transactions, comme les prêts.

Par exemple, un prêt peut être structuré de manière à devoir être remboursé dans un certain délai, même à travers différentes transactions. En utilisant des future monitors, un prêteur peut s'assurer qu'il ne consentira des prêts que s'il peut garantir leur remboursement dans le temps imparti.

Améliorer la Sécurité des Transactions

Un des principaux avantages des future monitors est leur capacité à réduire le risque de perte associé aux mauvais contrats. En attendant que des transactions futures vérifient les conditions, les monitors peuvent réduire considérablement le risque d'actions malveillantes qui pourraient entraîner des pertes de fonds.

Les future monitors peuvent aussi aider à résoudre les problèmes qui surgissent lorsque des utilisateurs profitent du système. Par exemple, un prêteur malveillant pourrait essayer de créer une situation où les fonds semblent en sécurité tout en ayant l'intention de faire échouer des transactions. Les future monitors empêchent cela en s'assurant que les conditions sont remplies dans toutes les transactions impliquées.

Exemple de Cas d'Utilisation : Prêts Atomiques

Les prêts atomiques sont un type de système de prêt où les emprunteurs peuvent prendre des prêts sans aucune garantie, sous la stipulation qu'ils doivent les rembourser dans la même transaction. Cette méthode minimise le risque pour le prêteur. Cependant, les blockchains traditionnelles ne supportent pas complètement ces mécanismes.

En intégrant des future monitors, il est possible de permettre des prêts atomiques qui peuvent évaluer les conditions de remboursement au fil du temps. Les Prêteurs peuvent s'assurer qu'ils récupéreront leurs tokens même si cela se passe dans une transaction ultérieure.

Mise en Œuvre des Future Monitors

Pour mettre en œuvre des future monitors, les contrats doivent être équipés d'un moyen de suivre l'état de chaque transaction et de cartographier comment elles se rapportent aux événements futurs.

Lors d'une transaction, si un contrat met en place un future monitor, il peut marquer si les transactions futures peuvent mener à un engagement ou à un échec de la transaction actuelle. Le monitor vérifiera si ces conditions sont satisfaites à la fin de sa période de monitoring.

Gestion des États de Transaction

Chaque transaction peut avoir divers états, y compris "connu pour échouer", "connu pour s'engager", et "indécis". Ces statuts suivent les résultats des transactions futures et influencent les résultats des transactions actuelles.

Pour gérer cela efficacement, les contrats doivent mettre à jour leurs cartes d'état en conséquence, s'assurant que tous les résultats futurs possibles sont pris en compte. Si une transaction n'a pas de résultat clair à la fin de la période de monitoring, la transaction sera considérée comme échouée.

Conclusion

Les future monitors représentent une avancée significative dans la manière dont les smart contracts fonctionnent dans les environnements blockchain. Ils permettent une approche plus nuancée de la gestion des transactions, permettant aux contrats de rester vigilants même au fur et à mesure que le temps passe et que d'autres transactions se déroulent. En intégrant des future monitors, l'efficacité, la sécurité, et la fiabilité des smart contracts peuvent être grandement améliorées, conduisant à de meilleurs résultats dans une variété d'applications.

Ce modèle ouvre des possibilités pour des transactions financières plus complexes, comme les prêts atomiques, tout en renforçant la sécurité du système blockchain dans son ensemble. L'application des future monitors aux protocoles existants pave la voie à un écosystème blockchain plus sûr et plus robuste, bénéficiant finalement à tous les utilisateurs impliqués.

Source originale

Titre: Monitoring the Future of Smart Contracts

Résumé: Blockchains are decentralized systems that provide trustable execution guarantees. Smart contracts are programs written in specialized programming languages running on blockchains that govern how tokens and cryptocurrency are sent and received. Smart contracts can invoke other smart contracts during the execution of transactions always initiated by external users. Once deployed, smart contracts cannot be modified, so techniques like runtime verification are very appealing for improving their reliability. However, the conventional model of computation of smart contracts is transactional: once operations commit, their effects are permanent and cannot be undone. In this paper, we proposed the concept of future monitors which allows monitors to remain waiting for future transactions to occur before committing or aborting. This is inspired by optimistic rollups, which are modern blockchain implementations that increase efficiency (and reduce cost) by delaying transaction effects. We exploit this delay to propose a model of computation that allows (bounded) future monitors. We show our monitors correct respect of legacy transactions, how they implement future bounded monitors and how they guarantee progress. We illustrate the use of future bounded monitors to implement correctly multi-transaction flash loans.

Auteurs: Margarita Capretto, Martin Ceresa, Cesar Sanchez

Dernière mise à jour: 2024-01-22 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2401.12093

Source PDF: https://arxiv.org/pdf/2401.12093

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires