Rejoignez-Nous sur

Blockchain smart contracts: éviter les pièges

1*HjW8ZDUB4y3isXzefL3 cQ

News

Blockchain smart contracts: éviter les pièges

9 facteurs à prendre en compte lors de la conception de vos contrats intelligents

1*HjW8ZDUB4y3isXzefL3 cQ
Courtoisie https://commons.wikimedia.org

Les contrats intelligents, qui constituent l’un des principaux objectifs des applications distribuées sur les technologies de chaîne de blocs, constituent un domaine clé susceptible de générer des perturbations. Mais s'il existe un fort potentiel, il reste des défis à relever.

De nombreuses implications commerciales sont spécifiques à la nature des contrats intelligents de crypto-monnaie, qui sont par nature des contrats d'entiercement, dans lesquels le contrat intelligent agit lui-même en tant que tierce partie de confiance détenant le paiement. Si les conditions contractuelles sont remplies, le paiement est effectué. Si les conditions contractuelles ne sont pas remplies, le paiement est retourné à l'acheteur.

Neuf caractéristiques d’entreprise ayant des implications commerciales doivent être évaluées pour toute solution de contrat intelligent.

  1. Risque Herstatt en raison de la volatilité des devises
  2. La valeur temporelle de l'argent
  3. Rapidité des transactions
  4. Coût des transactions
  5. Débiteurs et coûts par défaut
  6. Clauses de pénalité
  7. Multiplier les parties
  8. Rédacteurs de contrat de confiance
  9. Mauvais contrats

1. Risque Herstatt dû à la volatilité des devises

Risque Herstatt ou le risque de règlement est le risque qu'un taux de change change après qu'un contrat est bloqué à un montant spécifié d'une devise spécifiée. De toute évidence, il s’agit d’un risque dans les deux sens, car si le taux de change montait, l’acheteur paierait davantage; et si le taux de change baisse, le vendeur recevra moins. Plus la devise est volatile et plus le délai jusqu'au règlement est long, plus le risque est grand.

C’est essentiel pour les crypto-monnaies à l’heure actuelle, car elles sont très volatiles par rapport aux monnaies normales des pays développés, qui évoluent généralement les unes contre les autres en pourcentages à un chiffre chaque année. De plus, la plupart des crypto-monnaies ont peu de données historiques à évaluer et ne réagissent pas aux mêmes événements géopolitiques de la même manière que les monnaies fiduciaires.

1*HU17j3K82WYqAMrFhfgFLQ
Courtoisie https://www.coindesk.com/ethereum-price/

Du point de vue des risques de Herstatt, la volatilité des crypto-monnaies et l’absence de données historiques créent des défis. Les devises plus stables peuvent être plus facilement couvertes contre le risque Herstatt, mais les crypto-monnaies sont partout sur la carte tous les jours. Bitcoin et Ether, deux exemples majeurs, ayant tous deux fortement progressé au cours des deux dernières années et ayant chuté en 2018, les contrats intelligents ont davantage favorisé le vendeur que l'acheteur. Mais les contrats intelligents à court terme, comme c'est le cas pour la plupart d'entre eux, étaient risqués dans les deux sens. Le prix hebdomadaire de l’Ethereum varie de plus de 80 USD, soit environ 40%.

1*EIgHleQLvz9U1EcVdq0Cpw

La volatilité sur 24 heures n’inspire guère plus de confiance, comme le montre cet exemple récent, avec une oscillation de près de 40 dollars, soit environ 15%. Ce sont des devises avec un risque élevé pour Herstatt dans les périodes les plus courtes.

Bien entendu, tout risque est assorti de couvertures. Le plus simple est simplement de raccourcir le délai jusqu'à ce que le règlement atteigne un niveau acceptable. Mais comme le montre la volatilité des contrats, même très courts, le risque reste très élevé. Ceci est quelque peu minimisé par la réduction des frais d'entiercement. Il y aura donc sans aucun doute des acheteurs et des vendeurs qui choisiront d'accepter le risque, quels que soient les modèles commerciaux dans lesquels les frais d'entiercement élevés sont actuellement valables.

Une deuxième haie a plus de mérite, je pense. Un contrat intelligent peut être mis en place pour référencer les taux de change externes, par exemple le dollar américain stable à l'éther volatil. Pour ce faire, un programme externe introduirait le taux de change à l’achèvement dans une variable du contrat intelligent ou un flux constant des taux de change dans une blockchain accessible dans tous les contrats. Le contrat peut porter sur un certain montant en USD au moment de son exécution, sur la base d’un fournisseur de taux de change externe convenu. Le paiement est en ether égal au prix en dollars US convenu. Dans ce cas, le compte séquestre doit participer à la couverture en détenant le montant probablement le plus important de la crypto-monnaie, compte tenu de la volatilité.

Par exemple, vous avez un site Web et souhaitez y ajouter un système de paiement en ligne. Vous engagez un développeur pour l'implémenter. Il vous dit que cela prendra un mois et coûtera 2 000 $. Vous acceptez et concluez un contrat intelligent avec Ethereum. Vous convenez conjointement que la volatilité maximale probable est de 50% en baisse et de 100% en hausse. En utilisant des taux de change d'éther de 400 $, vous auriez besoin de 5 éthers pour le paiement. Compte tenu de la volatilité, vous pourriez voir que de 2,5 éthers à 10 éthers sont nécessaires. Vous transférez 10 éthers dans le séquestre du contrat intelligent. Vous convenez d'un service tiers qui validera l'existence du service de commerce électronique sur votre site Web dans un mois et qui pourra mettre à jour une variable du contrat intelligent.

Au bout d'un mois, il y a quelques résultats.

  • Le système de commerce électronique n’est pas sur le site Web. Le contrat intelligent vous rend 10 éthers.
  • Le système de commerce électronique se trouve sur le site Web et:
    – Le taux de change est à 200 $. Le contrat intelligent transfère tous les éthers au développeur.
    – Le taux de change est de 800 $. Le contrat intelligent transfère 2,5 éthers au développeur et 7,5 éthers à vous.
    – Le taux de change est à 400 $. Le contrat intelligent transfère 5 éthers à vous et au développeur.
    – Le taux de change est de 1 000 USD, hors de la plage de volatilité convenue mais à la hausse. Le contrat intelligent donne 2 éther au développeur et 8 à vous.

Ce sont des scénarios sans intérêt en ce que la couverture du risque a fonctionné comme prévu. Le scénario final est plus intéressant. Le taux de change est de 100 $. Désormais, il n'y a plus que l'équivalent de 1 000 USD en dépôt entiercé. Cela conduit à un dernier couple d'options.

  • Le développeur aurait pu, à votre connaissance, insérer une clé de licence dans le logiciel de commerce électronique et configurer le code dans la gestion des licences pour activer ou désactiver la clé de licence en fonction de l’équivalent de 2 000 USD disponible au tiers de confiance. Si ce n’est pas le cas, alors le contrat intelligent pourrait être configuré pour vous permettre de soumettre plus d’éther correspondant aux 2 000 USD ou pour que le logiciel de commerce électronique ne fonctionne pas. Vous avez un choix sérieux à faire car vous avez déjà enfoncé 4 000 dollars dans quelque chose d’une valeur de 2 000 dollars et vous devez maintenant décider s’il vaut 1 000 dollars de plus.
  • Le développeur pourrait également accepter le risque de Herstatt pour des raisons de commodité. Dans ce cas, le contrat est payé. Encore une fois, vous dépensez 4 000 $ en supposant que vous avez transféré des fonds dans de l’éther à des fins de passation de marché, mais le développeur ne reçoit que 1 000 $.

De toute évidence, la fourchette de volatilité est un facteur important de votre couverture et il est difficile à prévoir. Vous voulez que la fourchette soit plus basse pour limiter le risque du dernier scénario dans lequel vous perdez effectivement beaucoup d'argent. Le vendeur veut que ce soit plus élevé pour limiter les chances de ne pas être payé pour le travail. Après tout, ce n’est que dans l’un des scénarios ci-dessus que le développeur risque de ne pas toucher d’argent, mais il y en a deux pour lesquels vous avez 4 000 $ ou plus.

Externaliser le règlement en devises autres que des crypto-monnaies est une autre stratégie commerciale solide. Hyperledger ne prend pas du tout en charge les crypto-monnaies directes, bien qu’il en ait été construit une et que des implémentations de jetons de fidélité existent. Tous les règlements en devises dans Hyperledger devraient se faire par l’intermédiaire de systèmes de paiement externes tiers, qui pourraient être basés sur un chiffrement ou une crypto-devise. La technologie Eos en cours de développement est conçue pour permettre les deux options. Et, bien que les contrats intelligents Ethereum supposent des règlements séquestres en Ether ou dans d’autres monnaies basées sur Ether, il est également possible d’externaliser les paiements.

Enfin, l’ensemble du défi de la volatilité a donné lieu à des monnaies stables, qui utilisent diverses stratégies de couverture et de gouvernance pour rester au pair ou presque au pair avec une monnaie fiduciaire, le plus souvent le dollar américain.

2. Valeur temporelle de l'argent

1*46FBiw 4dvooz028hH77bg
Gracieuseté de Wikipedia.

La valeur temporelle de l'argent est une autre préoccupation des contrats intelligents. Le séquestre est bon et dandy, mais il n’est pas utilisé dans un nombre aussi élevé de contrats que de 30 contrats nets. Cela tient en partie au fait que les frais sont élevés et que les contrats intelligents réduisent considérablement. Mais la valeur temporelle de l'argent est une autre raison importante. Chaque entreprise importante a un directeur financier dont le travail consiste notamment à optimiser les rendements à court terme des liquidités disponibles. Ils le font entrer et sortir des devises et des fonds du marché monétaire, souvent quotidiennement, pour en tirer un bénéfice.

Net 30 termes signifie que dans un contrat d'un mois, vous ne devez payer que 60 jours après le contrat, 30 jours pour la fourniture du service et 30 jours pour le paiement. De nombreux termes nets 30 incluent également des incitations à payer plus rapidement sous forme de réduction, par exemple. une remise de 2% sur le prix d'achat si le paiement est reçu dans les 10 jours. Dans presque tous les contrats à long terme de plusieurs mois, les vendeurs négocient pour créer des conditions permettant de facturer chaque mois pour augmenter la valeur temps de l'argent, tandis que les acheteurs tentent de négocier des durées plus longues entre les factures pour maximiser la valeur temps de l'argent.

Mais dans les contrats intelligents, vous devez mettre l'argent à la séquestre au moment de la signature du contrat, 60 jours plus tôt. Et, comme l'indique l'évaluation de la couverture du risque de Herstatt, vous devrez probablement accorder plus de valeur à l'entiercement qu'à la valeur réelle, soit le double de l'argent de l'exemple.

Dans le cas hypothétique ci-dessus, cela signifie que vous n'avez aucun potentiel pour tirer le meilleur parti de votre argent pendant deux mois. Cela favorise le vendeur, pas l'acheteur. Et cela suppose également que vous avez suffisamment d’argent en main pour que ne pas avoir le montant en dépôt entier ne mette rien d’autre en danger.

L'approche séquestre est acceptable pour les transactions à court terme, mais pour la fourniture de services à plus long terme, il est important d'externaliser le paiement dans une devise fiduciaire ou dans une devise stable via un mécanisme tiers.

3. Rapidité des transactions

La lenteur des transactions signifie que les contrats intelligents ne conviennent pas actuellement pour de nombreuses applications de commerce électronique. Lorsque vous payez pour quelque chose sur iTunes, vous recevez un accès immédiatement. Le traitement des transactions en bitcoins prend 10 minutes et Ethereum ne propose qu'une résolution de transaction de 15 secondes au mieux. Aucune des deux ne garantit qu'une transaction sera dans le bloc suivant, il se peut donc que Bitcoin prenne des heures si le volume de transactions à effacer est élevé; l'arriéré n'a été éliminé que récemment en raison de la réduction des volumes. Et les contrats intelligents comporteront généralement plusieurs transactions de différentes sortes.

Les consommateurs ne sont pas intéressés par une attente prolongée pour obtenir une gratification. Ce cas d'utilisation ne serait qu'un simple paiement d'un portefeuille à l'autre, ce qui reste problématique dans de nombreux cas en raison de la rapidité des transactions. Les crypto-monnaies actuelles ne prennent pas en charge les volumes de transaction nécessaires pour les solutions de commerce électronique en masse, et ne le feront probablement jamais.

Une partie de ce problème est réduite avec un règlement basé sur une crypto-monnaie, tout simplement parce que les deux parties vont faire confiance au fait que le chèque est bien dans le courrier. Et il existe maintenant des systèmes de règlement à grande vitesse qui utilisent une variété de tactiques pour accélérer les transactions en bloc. L'externalisation des systèmes de paiement pour les transactions par carte de crédit à grande vitesse atténue également ce problème.

4. Coût des transactions

1*D 6uOC7COokNefSUFoIDPg
Courtoisie https://bitinfocharts.com/comparison/ethereum-transactionfees.html

Le coût des transactions avec crypto-monnaie le rend moins utile pour les petites transactions. Acheter un café au prix de 3,00 $ et dépenser 1,00 $ pour la transaction ne sera acceptable ni pour l'acheteur ni pour le vendeur, et aucun ne voudra le payer. Les commerçants paient les coûts de transaction par carte de crédit de 1,5% à 3% sur leurs marges faibles aujourd'hui, mais cela ne représente que 4,5 à 9 cents par café. 33% ne voleront pas.

Indépendamment de toute autre chose, les crypto-monnaies sont actuellement inappropriées pour les petites transactions de détail. Les vendeurs qui utilisent aujourd'hui la plate-forme Amazon pour vendre leurs produits paient environ 60 cents pour une transaction de 10 $. Un dollar représente donc une forte augmentation.

Pour les contrats intelligents, ils doivent être des sommes décentes et il faut savoir qui les paye. Compte tenu de la perte de valeur temporelle de l'argent et du risque Herstatt, si je concluais un contrat intelligent en tant qu'acheteur, je négocierais pour que le vendeur paie tous les coûts de transaction à peu près aux conditions. Mais il est peu probable que de nombreux contrats intelligents basés sur un modèle donnent aux acheteurs cette option, car ils seront mis en place par les vendeurs. Encore une fois, l'avantage réside dans le vendeur, pas dans l'acheteur.

Toutes les transactions de crypto-monnaie ne nécessitent bien sûr pas de frais de transaction. Cependant, les frais de transaction facultatifs sont ce qui rend plus probable que les transactions seront incluses dans les prochains blocs créés. Ils font partie du modèle d'entreprise et expliquent en partie pourquoi les entreprises choisissent d'héberger des composants de création de blocs de cryptomonnaies.

5. Multiplier les parties

1*az9jD  qvC0eYFy EAwwbg
Courtoisie https://upload.wikimedia.org

L'un des avantages supposés des contrats intelligents, y compris une tierce partie telle qu'une organisation de livraison dans un contrat, est en réalité une complexité supplémentaire. Tout ce qui implique de multiplier les parties d'un contrat augmente sa complexité, comme c'est le cas pour toute solution à un problème. L’une des formulations originales d’Occam’s Razor en anglais a été ne pas multiplier les entités sans nécessité. De nos jours, les accords à trois parties impliquent généralement un contrat entre deux des parties et un contrat différent entre deux des autres parties, et non un contrat entre les trois parties. Une organisation assume les coûts et les risques de l’une des parties, telle que l’organisme de livraison, et les inclut dans son prix, de manière explicite ou implicite.

Tous les contrats de services que j'ai négociés n'incluent qu'une organisation de services et un client, et ces contrats ont souvent coûté des millions de dollars. C’est le modèle le plus courant et la proposition de valeur d’ajouter des entités supplémentaires n’est pas claire dans la plupart des cas.

Accords tripartites sont relativement courants dans l'industrie de la construction, mais moins courants ailleurs, et ces accords tripartites sont une aide au financement et non des accords d'entiercement avec des monnaies virtuelles.

Structurer les relations commerciales au-delà des transactions les plus simples nécessite des accords avec plusieurs parties dans une chaîne de valeur. La création d'une solution blockchain dans laquelle une partie crée la chaîne de valeur, puis établit des contrats individuels avec d'autres pour répartir de manière appropriée la valeur acquise afin d'encourager la participation est une approche probable. Les banques ont déjà des entités mutuellement propriétaires qui effectuent des règlements de débit entre elles, ce qui permet d’étendre ces relations commerciales.

6. Débiteurs et coûts par défaut

Les débiteurs et les coûts de défaillance constituent un avantage important des contrats intelligents pour le vendeur et aucun avantage direct pour l'acheteur.

Les contrats Net 30 impliquent qu'une facture soit générée par le vendeur et envoyée à l'acheteur. Si l'acheteur ne paye pas, le vendeur doit les virer pour l'argent. S'ils continuent à ne pas payer, le vendeur doit amener l'acheteur devant les petites créances ou devant un tribunal civil pour tenter d'exiger le paiement.

Les contrats d'entiercement par définition protègent le vendeur, pas l'acheteur. L’argent de l’acheteur est entiercé, pas le vendeur. Le vendeur a la garantie du paiement et l’acheteur n’a aucune possibilité de faire défaut, sauf dans le cas où le vendeur ne remplit pas les conditions du contrat smart. Aucune action civile du vendeur contre l'acheteur avec aucun contrat intelligent décemment structuré n'est nécessaire.

L'externalisation des paiements vers des systèmes de paiement tiers avec des conditions plus traditionnelles, que ce soit en devise fixe ou en devise fiduciaire, n'apporte pas cet avantage et les coûts continuent d'être supportés par l'organisme vendeur.

7. Clauses de pénalité

Licence: CC0 domaine public

Les clauses de pénalité sont un endroit où l'acheteur commence à voir un avantage. Si un acheteur a besoin d'un bien ou d'un service à un moment donné à un endroit donné ou si sa valeur commence à baisser, un contrat intelligent peut lui être très utile. L’analogie évidente est avec la promesse faite par les pizzerias 30 minutes ou gratuit. Les pizzas qui peuvent être gratuites si elles sont en retard, bien sûr, seront probablement trop peu coûteuses pour justifier les coûts de la passation des marchés. Mais imaginons un contrat intelligent de la chaîne d'approvisionnement exigeant la livraison d'un produit à un chantier de construction ou de fabrication, juste à temps.

L'acheteur de produits juste-à-temps présente des inconvénients distincts en termes de livraison tardive et précoce. Ils doivent mettre les livraisons à l’avance dans les stocks, puis les reprendre, ce qui entraîne des coûts qui ont un impact sur les bénéfices. Ils doivent ralentir ou arrêter leur construction ou leur fabrication si les biens dont ils ont besoin sont en retard, ce qui aura une incidence sur leur livraison et leur flux de trésorerie.

Un contrat intelligent comportant des clauses pénalisant automatiquement la livraison anticipée ou tardive serait avantageux. Pas besoin de s'inquiéter d'ajustements ou de négociations de pénalités ni de poursuites judiciaires. Les pénalités seraient automatiquement encourues à la livraison. Dans certains modèles commerciaux, ce facteur à lui seul pourrait faire valoir le temps d’un acheteur. Et puisque de nombreux avantages vont dans l’intérêt du vendeur, ils seront également acceptables.

8. Rédacteurs de contrat de confiance

Les contrats intelligents sont des applications impénétrables pour la plupart des acheteurs et des vendeurs. Au lieu de faire confiance à Visa et à Amazon, vous faites entièrement confiance à quelqu'un d'autre, le développeur du contrat.

Les contrats intelligents sont facilement joués par des personnes peu scrupuleuses qui les ont spécialement conçues pour tirer parti de quelqu'un d'autre moins sophistiqué. Imaginez un contrat basé sur un modèle qui semble avoir une configuration qui renvoie le paiement pour non-livraison, mais paie en réalité une partie, peu importe ce qui se passe. À moins de regarder le code et de le comprendre, vous ne le verrez jamais.

Et ce sera souvent le vendeur qui établira les contrats intelligents basés sur un modèle. Après tout, ils essaient de vendre des choses et de faciliter la tâche des acheteurs.

Pour les contrats plus importants, des négociateurs expérimentés des deux côtés et des avocats des deux côtés veillent à ce que les conditions générales soient aussi favorables que possible. Les contrats avec un grand cabinet de conseil, par exemple, ne seront pas approuvés pour publication par la direction ou les avocats du cabinet de consultant avec une durée nette de 90 jours.

Outre les avocats, les contrats intelligents devront impliquer les programmeurs dans un premier temps. Des systèmes de contrats intelligents, fiables, configurables et configurables, qui permettront la sélection de termes et conditions, la reconnaissance de tiers, etc. apparaîtront, mais il n’en est qu’à ses débuts. À l'heure actuelle, le fait de payer les développeurs est un coût supplémentaire, même si la solution consiste uniquement en une application distribuée fournissant un allégement administratif pour l'exécution d'un contrat traditionnel.

9. Mauvais contrats

Lorsqu'un contrat commercial s'avère mauvais, il existe des solutions. Il existe une cour des petites créances, il existe une relation de bonne foi entre l’acheteur et le vendeur, il existe des accords de type «valeur en nature», etc. Il existe des moyens de rendre les partis assez complets et généralement, l’argent ne disparaît pas. Si une partie meurt alors que de l'argent est entiercé avant la livraison de valeur, il existe une jurisprudence et souvent des conditions générales qui couvrent la situation.

Mais avec les contrats intelligents, il est possible que l’argent soit bloqué et ne soit jamais libéré. Le but des contrats intelligents est de sécuriser l'argent entre deux parties qui concluent un accord. Mais que se passera-t-il si les conditions du contrat ne sont pas respectées à cause d’une erreur de programmation ou simplement d’un manque de sophistication de la part des personnes participant à l’accord? Dans ce cas, l'argent peut être bloqué et y rester pour toujours. Imaginez un contrat intelligent qui considère la mauvaise variable pour la condition de déclenchement, afin que cela ne se produise jamais. Imaginez un programme externe qui ne met rien dans un livrable. Rien dans les contrats intelligents n’empêche ces situations, à l’exception des programmes de test des développeurs, et nous savons tous que l’historique des logiciels est truffé de défauts.

Que la solution soit une blockchain autorisée ou privée ou une solution publique sans autorisation, les faisceaux de tests automatisés deviennent essentiels lors de l'établissement de contrats intelligents. Je prévois l’utilisation d’approches de Monte Carlo pour explorer les conditions de bord qui pourraient provoquer des verrous entraînant des verrous bloqués et d’autres conditions. En outre, l'un des principaux sujets de discussion est la mesure dans laquelle les agents de gouvernance humaine sont nécessaires dans les solutions de blockchain, avec plusieurs modèles émergents, simplement pour permettre des dérogations ou des substitutions en cas de conditions défavorables.

Concevoir des solutions métier à l'aide de chaînes de blocs nécessite de porter une attention particulière à l'architecture métier, voire davantage, à l'architecture technique. Ces neuf facteurs vous aideront à déterminer si les contrats intelligents basés sur la blockchain seront adaptés aux besoins de votre entreprise et comment gérer vos choix. Il existe de nombreux cas où les avantages sont fortement unilatéraux dans les contrats intelligents simples de crypto-monnaie, mais il existe des solutions existantes et émergentes pour la plupart de ces problèmes.

stat


Blockchain smart contracts: éviter les pièges a été publié à l'origine dans Hacker midi sur Medium, où les gens poursuivent la conversation en soulignant et en répondant à cette histoire.



Traduction de l’article de Michael Barnard : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top
ante. ipsum porta. ut amet, mattis vel, Aliquam Nullam et,