smart contract

Le smart contract

Please follow and like us:

The code is law !  La technologie est utilisée pour faire appliquer les règles.
Dans ce cas, avons-nous besoin d’avocats? Ou peut-être pouvons-nous vivre dans un monde entièrement automatisé. Un endroit où le code dicte ce que nous pouvons et ne pouvons pas faire. Avec le développement actuel de smart contract ce scénario futuriste peut être plus proche qu’on ne le pense.

N’hésitez pas à nous suivre sur twitter  ou sur facebook

Qu’est-ce qu’un contrat intelligent?

Un smart contract est un morceau de code qui peut être exécuté automatiquement et de manière déterminé. Le code de contrat intelligent est généralement stocké et exécuté sur la blockchain pour le rendre sans confiance et sécurisé. Les contrats intelligents ont également la capacité de recevoir, de stocker et d’envoyer des fonds et même d’appeler d’autres contrats intelligents. Ils suivent la sémantique if-then qui les rend assez faciles à programmer.

Les contrats intelligents visent à supprimer le facteur humain de la prise de décision. Il est souvent prouvé que le facteur humain est l’élément le plus sujet aux erreurs et le moins fiable des contrats standards traditionnels.

Un distributeur automatique est très souvent une bonne analogie avec un contrat intelligent car il partage certaines des similitudes. Un distributeur automatique typique est programmé de manière à permettre certaines actions et transitions d’état en fonction de l’entrée. Cela fonctionne également de manière totalement déterministe. Par exemple, si vous voulez acheter une canette de coca qui coûte 2 $ et que vous n’avez que 1 $, peu importe le nombre de fois que vous essayez, vous ne pourrez pas obtenir la boisson. Par contre, si vous insérez 3 $, la machine vous donnera une canette de coca et la monnaie appropriée. Même la monnaie qui est donnée est sélectionnée de manière prédéfinie et programmée en fonction des pièces disponibles et des pièces dont la machine souhaite se débarrasser en premier.

Un contrat intelligent peut s’appuyer uniquement sur les informations disponibles sur la blockchain. Par exemple, si vous me donnez 10 jetons A, je vous donnerai 10 jetons B. Il peut aussi s’appuyer sur des sources de données externe. Par exemple sur le prix Ethereum ou S&P500. Ce dernier exemple rend les contrats intelligents plus difficiles car ils doivent faire confiance aux données du monde réel. La confiance nécessaire peut être minimisée en utilisant les services oracle. Mais même les services oracle doivent être approuvés. Il existe déjà quelques projets qui, en utilisant certaines incitations, rendent les oracles plus susceptibles de fournir des données correctes. Chainlink est un projet qui se démarque clairement dans cette catégorie.

Ethereum

Ethereum est un bon exemple de blockchain qui prend en charge les contrats intelligents et permet à un programmeur de mettre en œuvre ses propres contrats intelligents. Un contrat intelligent peut être écrit dans un langage de programmation appelé Solidity. Elle a été créé spécifiquement à cette fin.

Dans Ethereum, tous les contrats intelligents déployés sont immuables. Cela signifie qu’une fois déployés, ils ne peuvent pas être modifiés. Ce qui crée certains risques dont nous parlerons plus tard. Les contrats intelligents sur Ethereum sont également décentralisés, ce qui signifie qu’il n’y a pas de machine unique contrôlant le contrat. En fait, tous les nœuds du réseau Ethereum stockent le même contrat avec exactement le même état.

Bien qu’Ethereum soit actuellement la plateforme de contrats intelligents polyvalente la plus populaire, ce n’est pas la seule et elle a quelques concurrents. Certains d’entre eux sont Cardano, Tezos, EOS, Tron, mais tous ne partagent pas les mêmes caractéristiques.

Le terme smart contract a été inventé par un cryptographe bien connu Nick Szabo au début des années 1990. Le nom, bien que ce ne soit pas le plus explicite, reste bloqué et est couramment utilisé, en particulier dans l’industrie de la blockchain.

Smart contract vs contrats traditionnels

Pour voir les avantages des contrats intelligents, comparons un contrat intelligent hypothétique à son équivalent dans l’espace traditionnel.

Disons que nous voulons rédiger le contrat suivant.

Si Alice envoie X nombre de jetons A et Bob envoie le même nombre de jetons B, les jetons seront échangés et Alice recevra les jetons de Bob et Bob recevra les jetons d’Alice.

Dans un monde de contrat non intelligent, une façon d’y parvenir sans qu’Alice n’ait à faire confiance à Bob et Bob à faire confiance à Alice serait de créer un contrat d’entiercement. Le tiers collectait les jetons A d’Alice, attendait le même nombre de jetons B de Bob et enverrait à Alice et Bob leurs jetons échangés respectifs. Cette approche montre déjà quelques problèmes auxquels Alice et Bob peuvent être confrontés.

Faire confiance aux intermédiaires.

Il n’y a aucune garantie que le tiers ne s’enfuira pas (ou ne perdra pas) avec les jetons après avoir reçu des fonds d’Alice et Bob. Nous devons nous fier à la réputation de l’intermédiaire et à l’assurance potentielle. Cette approche n’est pas déterministe et si quelque chose ne va pas, elle peut avoir des résultats différents en fonction de plusieurs facteurs, y compris la juridiction où une affaire potentielle serait réglée.

D’autre part, le contrat intelligent fonctionnerait de manière entièrement automatisée et déterministe en s’assurant que les deux parties reçoivent des fonds lorsqu’elles remplissent les critères initiaux de dépôt de pièces. Les contrats intelligents peuvent également contenir des fonds en eux-mêmes, ce qui n’est tout simplement pas possible dans le monde traditionnel.

La vitesse du smart contract

En fonction de l’intermédiaire, Alice et Bob devront peut-être attendre quelques jours ou quelques semaines pour régler la transition des jetons. Et s’ils veulent échanger des jetons dimanche? L’intermédiaire fonctionne-t-il même les jours fériés ? Avec les contrats intelligents, ces types de problèmes disparaissent et un contrat peut être exécuté quelques secondes après le respect des critères initiaux.

Coût

Les contrats traditionnels ne sont pas seulement coûteux en raison de l’intermédiaire qui doit faire son profit, il existe également un risque énorme de coûts cachés pour des choses comme l’arbitrage et l’exécution en cas de problème avec le contrat.

Ré utilisabilité d’un smart contract

Le même contrat intelligent qui est responsable de l’échange des jetons d’Alice et de Bob pourrait être utilisé par toute autre personne souhaitant échanger des jetons. Dans le monde traditionnel, ils devraient tous signer des contrats séparés et payer leurs honoraires respectifs à l’intermédiaire.

Fraude

C’est encore un autre coût caché cette fois pour l’intermédiaire lui-même. L’intermédiaire doit s’assurer que les jetons d’Alice et de Bob sont légitimes avant d’initialiser un échange. La fraude est très courante dans la finance traditionnelle et la plupart des entreprises ont d’énormes équipes qui travaillent uniquement à la prévention de la fraude. Avec les contrats intelligents, les jetons peuvent être vérifiés sur la blockchain et avec des signatures numériques, il est immédiatement clair si Alice et Bob sont éligibles pour dépenser leurs jetons.

Quels sont les cas d’utilisation?

Le smart contrat a un nombre croissant de cas d’utilisation allant des paiements aux financements décentralisés à la chaîne d’approvisionnement et au financement participatif. Les contrats intelligents sont également les éléments de base des applications décentralisées ou Dapps. Parlons de quelques exemples de smart contract.

La finance décentralisée ou DeFi est l’une des nouvelles industries qui dépendent fortement des contrats intelligents.

Nouveau sur la finance décentralisée, formez vous => l’explication de la DeFi

Stablecoin décentralisée

Avec une utilisation intelligente de smart contract et de certaines incitations, nous pouvons créer une pièce stable liée au dollar américain sans avoir à stocker des dollars dans le monde réel. MakerDAO est l’une des entreprises qui rend cela possible.

Provisionnement automatisé de liquidité

Un ensemble de contrats intelligents peut permettre aux utilisateurs de fournir des liquidités et d’échanger des jetons de manière totalement décentralisée et sans autorisation. Uniswap ou Kyber Network sont de bons exemples de tels protocoles.

Un autre cas d’utilisation est de fournir plus de transparence aux chaînes d’approvisionnement où des protocoles comme OrginTrail entre en jeu.

En matière de financement participatif, vous pouvez imaginer un contrat qui débloque des fonds dès que certains objectifs sont atteints et vérifiés par la communauté.

Cela ne s’arrête pas ici. Temps pour des exemples un peu plus futuristes.

Et si les contrats intelligents pouvaient faciliter des choses comme le covoiturage, la location d’appartements et bien plus encore?

Et la charité? Vous pouvez imaginer un fonds entièrement automatisé qui enverrait de l’argent directement aux personnes qui en ont le plus besoin, sans aucun intermédiaire. Par exemple, le fonds pourrait déterminer que certaines régions ont été frappées par un ouragan et rediriger les fonds vers cette partie du monde. Pour l’instant, cela semble tout à fait impossible, mais tous les éléments nécessaires pour que quelque chose comme ça se produise sont en cours de construction pendant que nous parlons.

Les cas d’utilisation des contrats intelligents sont presque infinis, mais avant de pouvoir réaliser tout cela, nous devons nous attaquer à quelques problèmes.

Quels sont les risques d’un smart contract ?

L’un des principaux risques en matière de contrats intelligents est quelque chose qui hante tous les autres logiciels: les bugs.

Le meilleur exemple de bug dans un contrat intelligent est le piratage de DAO qui a entraîné la perte de millions de dollars d’Ether. L’attaquant a pu drainer des fonds du contrat intelligent. Cela a provoqué un fork difficile et créé de nombreux désaccords dans la communauté Ethereum.

Depuis le piratage de DAO, la communauté Ethereum a mis en place de nombreuses mesures de sécurité supplémentaires. De nos jours, presque tous les contrats intelligents populaires ont fait l’objet d’un audit de sécurité, souvent par plusieurs équipes. En outre, il existe une tendance à utiliser des méthodes de vérification formelles pour prouver que certains contrats se comporteront toujours comme prévu.

Changements de protocole d’un smart contract

Même si un contrat intelligent ne présente aucun bug et a été audité, nous ne pouvons toujours pas garantir qu’un changement au niveau de la plate-forme ne posera aucun problème. Nous pouvons imaginer une situation où une mise à niveau de l’Ethereum lui-même peut entraîner certains contrats intelligents à se comporter différemment de ce qui était attendu auparavant.

Problèmes du monde réel qui ne peuvent pas être facilement communiqués par les services Oracle.

Il est vrai que les services oracle peuvent fournir un moyen fiable d’obtenir des informations du monde réel dans la blockchain. Par exemple, comme nous l’avons mentionné précédemment, ils peuvent fournir un prix Ethereum ou S & P500. Imaginez maintenant que vous avez loué un appartement ou une voiture et que vous avez fait des dégâts accidentels. Comment un contrat intelligent sans aucune intervention humaine pourrait-il le savoir? Il existe de nombreux exemples comme celui-là où il est difficile d’imaginer comment quelque chose d’inattendu qui se produit dans le monde réel peut être visible pour les contrats intelligents.

Outre tout ce qui précède, il y a aussi d’autres risques impliqués dans des choses comme la réglementation ou la fiscalité, mais je pense qu’ils peuvent tous être finalement résolus.

Alors pouvons-nous réellement remplacer les avocats par du code?
Hmm pas tout à fait, du moins pas pour le moment.

À l’avenir, je peux certainement voir de plus en plus de contrats automatisés, en particulier en matière de finance, mais même dans un monde entièrement automatisé, les avocats peuvent fournir des connaissances précieuses qui peuvent être traduites en code.

En plus de cela, il y a beaucoup de défis réglementaires en ce qui concerne les lois entourant l’industrie de la cryptographie elle-même qui occuperont les avocats pendant un certain temps.

Néanmoins, si j’étais avocat, je commencerais à penser à en apprendre un peu plus sur les contrats intelligents et le codage. Car je pense qu’ils joueront un rôle important à l’avenir.

Conclusion

Résumons rapidement les avantages et les inconvénients des contrats intelligents.

Avantages :

  •  logiciels entièrement automatisés
  • résultats déterministes
  • sans confiance
  • rapide
  • précis
  • sécurisé
  • rentable
  • transparent

Inconvénients :

  • bugs
  • les changements de protocole
  •  réglementation peu claire
  • taxe peu claireNous sommes qu’au début, et les problèmes d’aujourd’hui ne le seront plus demain.

Laisser un commentaire

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