Partager cet article

3 idées fausses sur les contrats intelligents

L'engouement pour les contrats intelligents crée de nouveaux défis opérationnels, selon le consultant blockchain Olivier Rikken.

Olivier Rikken est manager, conférencier et leader d'opinion sur la disruption numérique, la blockchain et la gestion des processus d'affaires chez Axveco, un cabinet de conseil spécialisé dont le siège est à Amsterdam.

Dans cet article Analyses de CoinDesk , Rikken décrit trois erreurs courantes que commettent les nouveaux arrivants lorsqu'ils cherchent à tirer parti de la Technologies des contrats intelligents basée sur la blockchain.

La Suite Ci-Dessous
Ne manquez pas une autre histoire.Abonnez vous à la newsletter Crypto Long & Short aujourd. Voir Toutes les Newsletters

ONEune des évolutions les plus prometteuses de la blockchain est l’idée des contrats intelligents.

Détaillé pour la première fois par un cryptographeNick SzaboDans son article de 1994 « Smart Contracts », Szabo décrit le concept comme « un protocole de transaction informatisé qui exécute les termes d'un contrat ». Aujourd'hui, l'essor dublockchain Ethereumfacilite le développement et le déploiement aisés de ce concept dans un environnement public.

Pourtant, cela a conduit à un nuage de confusion autour des contrats intelligents. (Pour ceux qui sont moins familiers avec les contrats intelligents,cet article(fournit une belle introduction).

Mais avant de plonger dans le vif du sujet, je tiens à préciser que je crois que le nombre de possibilités et de cas d'utilisation des contrats intelligents est énorme et peut créerde véritables facteurs de changementdans divers secteurs. Cependant, en travaillant avec diverses entreprises sur les possibilités, j'ai remarqué que beaucoup ont encore du mal à comprendre ce que sont réellement les contrats intelligents, comment ils fonctionnent et ce qu'ils peuvent faire.

Voici les trois problèmes que je rencontre le plus souvent :

1. « Les contrats intelligents ne sont que du code, pas des contrats »

Une phrase courante et souvent citée est : « les contrats intelligents ne sont ni intelligents ni contractuels, ce sont juste du code stupide ».

Dans certains cas, cela peut être vrai, comme lors de la création d'une application décentralisée n'impliquant pas de transfert de valeur. Cependant, dans d'autres cas, les contrats intelligents peuvent présenter davantage de caractéristiques que les contrats conventionnels.

Lorsque nous examinons les contrats conventionnels, la sémantique d'un contrat se compose de deux éléments principaux, à savoir :

  • Sémantique opérationnelle, qui est l'interprétation opérationnelle d'un contrat. Elle décrit la prise en compte des actions précises convenues et à entreprendre par les parties concernées. C'est généralement ce qui peut être programmé dans un contrat intelligent.
  • Sémantique dénotationnelleinterprétation juridique non opérationnelle de l'ensemble du contrat, y compris, mais sans s'y limiter, toute référence à d'autres documents, juridiction , ETC Il s'agit de l'interprétation qui serait donnée au contrat tel qu'un avocat le lirait. Cet élément n'est généralement pas inclus dans les contrats intelligents, bien que des références puissent être ajoutées sous forme de commentaires dans le code.

Pourquoi les gens établissent-ils des contrats ? Principalement parce qu'ils ne se font T entièrement confiance pour l'exécution d'un accord (malgré un accord verbal) ou pour prouver à des tiers la légitimité d'un transfert de biens.

En tenant compte de cela et de l'élément opérationnel de la sémantique des contrats, si un contrat intelligent est le résultat d'un accord entre deux ou plusieurs parties et « signé » par toutes les parties (en effectuant activement des transactions avec le contrat intelligent), il pourrait donc être considéré comme constituant la sémantique opérationnelle d'un contrat traditionnel, bien qu'écrit dans un langage inconnu.

La gestion des conflits pourrait Réseaux sociaux à peu près la même voie que pour tous les contrats traditionnels, c'est-à-dire via les tribunaux, la médiation , ETC

La principale différence réside dans le fait que, dans de nombreux cas, le transfert de valeur résultant de l’exécution automatisée du contrat a déjà eu lieu.

2. « Les contrats intelligents peuvent fonctionner de manière totalement autonome »

Cela nous amène à la deuxième idée fausse

ONEune des erreurs les plus courantes est que les gens ont l’impression qu’un contrat intelligent peut analyser activement son environnement et s’exécuter en réponse aux changements en conséquence, c’est-à-dire qu’un contrat intelligent interroge de manière proactive une base de données externe et modifie son propre état en fonction du résultat de la requête.

La blockchain, par essence, est axée sur les transactions. C'est également le cas pour les contrats intelligents et doncles contrats intelligents sont réactifs.

Le code d'un contrat intelligent n'est exécuté que lorsqu'il est appelé par une transaction ou un message qui lui est envoyé. Cela peut se faire soit depuis un compte externe (détenu par une personne physique ou une entreprise) envoyant une transaction, soit depuis un autre contrat intelligent envoyant un message au contrat intelligent (ce dernier étant lui-même déclenché par une transaction ou un message).

De plus, les informations dont dispose un contrat intelligent lors de son exécution sont assez limitées.

Comme indiqué dans leEthereum documentation« Cette exécution doit être complètement déterministe ; son seul contexte est la position du bloc sur la blockchain et toutes les données disponibles. » De plus, « elle est non seulement en sandbox, mais complètement isolée, ce qui signifie que le code exécuté dans l'EVM n'a aucun accès au réseau, au système de fichiers ou à d'autres processus. Les contrats intelligents ont même un accès limité aux autres contrats intelligents. »

Les données disponibles sont les données envoyées au contrat dans la transaction ou le message, ainsi que les données dans le stockage (état) et la mémoire du contrat.

Alors qu'un contrat intelligent peut appeler d'autres contrats intelligents (par exemple, lire les soldes d'autres contrats intelligents)réentrancen'est pas recommandé pardivers expertscomme ils le disent, cela ne devrait être utilisé qu'en dernier recours.

De plus, les contrats intelligents ne peuvent effectuer que des calculs de base comme l'addition, la soustraction et la division. Ils ne sont pas capables d'effectuer des analyses de Big Data.

Ainsi, lorsqu'il s'agit de concevoir des processus impliquant des contrats intelligents, sachez qu'à l'heure actuelle, ces derniers sont réactifs, disposent d'informations limitées, ne peuvent effectuer que des calculs de base et ont des possibilités d'interaction limitées. Les exemples décrits ici s'appuient principalement sur les contrats intelligents d'Ethereum, ce qui m'amène au dernier point.

« LE contrat intelligent »

Il n’existe pas de contrat intelligent.

Comme les gens font souvent l’erreur de parler de LA blockchain, au lieu de faire référence à une blockchain spécifique (par exemple Bitcoin, Ethereum, Hyperledger, ETC), la même erreur est souvent commise pour les contrats intelligents.

La plupart des blockchains n'ont aucune capacité de contrat intelligent, ou si elles en ont, c'est seulement sous une forme très limitée ou viachaîne latérale indexéesolutions.

Les fonctionnalités qu’un contrat intelligent peut posséder diffèrent selon la blockchain.

Ainsi, lorsqu'il s'agit de concevoir des solutions nécessitant des contrats intelligents, il n'existe pas de contrat intelligent unique. Pour créer un contrat intelligent répondant à vos besoins, soyez très prudent et précis dans le choix de la blockchain à utiliser.

Image au crayon rougevia Shutterstock

Remarque : Les opinions exprimées dans cette colonne sont celles de l'auteur et ne reflètent pas nécessairement celles de CoinDesk, Inc. ou de ses propriétaires et affiliés.

Picture of CoinDesk author Olivier Rikken