Que sont les Smart Contracts ? - Introduction

0 102
Avatar for ChrissCrypto
3 years ago

Les Smart Contracts sont des protocoles de transactions informatisés, qui exécutent automatiquement des conditions définies au préalables et inscrites dans la Blockchain. En utilisant les Instructions Conditionnelles "IF … THEN" (SI .. DONC) ; Si la Condition A est remplie, alors il faut Executer B.

Ils sont devenus populaires dès 2015 grâce à la Blockchain Ethereum, créée par Vitalik Buterin. Le Smart Contract le plus connu reste tout de même le Bitcoin (BTC) bien que celui-ci ne soit limité qu'à une utilisation purement financière, et l'échange de Cryptomonnaies.

 

Alors que les Smart Contrats développés grâce et sur la Blockchain Ethereum ont un éventail d'application plus diversifié :

  • Transaction Financières 

  • Création de Monnaies (Tokens) 

  • Et surtout l'avantage important, est la création de Smart Contract directement par des développeurs

Alors que dans notre société actuelle, tout est centralisé :

  • Les Banques centralisent leur contrats

  • Les Assurances centralisent leurs contrats dans un Cloud et centralisent surtout l'informations des clients

  • Les Tribunaux centralisent les affaires ...

 

Notre futur ne peut se faire que dans : la Décentralisation & l'Exécution Automatique

Avant d'entrer plus dans ce Sujet, il est nécessaire, si ce n'est primordial, de savoir que les Smart Contracts, n'ont rien de SMART et ne sont pas non plus des CONTRACTS à valeur juridique. Je m'explique : 

  • Le mot SMART est surtout utilisé pour désigner de quelque chose qui est : 'Astucieux', 'Évolutif', ou qui représente une 'Nouvelle Technologie' (tout comme les mots 'Smart Phone', 'Smart Homes', 'Smart Cities')

  • Le mot CONTRACT fera plutôt référence à l'accord entre 2 voir plus, de parties concernées par cet engagement 

Les Smart Contracts ont été Conceptualisés et Développés par Nick Szabo, en 1994, bien avant la naissance de la première des Cryptomonnaies (le Bitcoin (BTC) qui est apparu en 2009, avec son premier Bloc miné, du nom de 'Genesys Bloc'), mais aussi bien avant la naissance de la Monnaie Virtuelle de Nick Szabo 'Bit Gold' (créée en 1998)

Dont la brève présentation est : "Un protocole de transactions informatisés qui exécute les termes d'un contrat. Les objectifs généraux sont de satisfaire aux conditions contractuelles communes"

 

A la base, lors de sa création, les Smart Contracts pouvaient déjà être appliqué à plusieurs domaines :

  • Système de Crédit

  • Traitement des Paiements (comme par exemple, les salaires pour une entreprise)

  • Gestion des Droits sur un contenu (comme pour les droits d'auteurs pour une musique qui étaient diffusés à la Radio, à la TV ou lors d'un spectacle)



Globalement, les Smart Contracts sont hébergés sur une Blockchain dédiée. La plus utilisée est la Blockchain Ethereum, mais depuis peu il en existe d'autres qui proposent des Smart Contracts :

  • Blockchain Cardano

  • Blockchain EOS

  • Blockchain Tezos

  • Blockchain NEO

  • Blockchain Tron

Sans oublier que la Blockchain Bitcoin peut elle aussi héberger/proposer des Smart Contracts 

 

L'utilisation de la Blockchain, ainsi que de la Décentralisation dans le processus d'utilisation et d'application des Smart Contracts permet l'impartialité du processus de Validation de ceux-ci.

Un Smart Contract reste néanmoins un code informatique, codé par un Développeur ou un Développeur Web, qui doit aussi avoir de bonnes connaissances des Blockchains, qui peut aussi se faire assister par un Juriste pour être proche de la Loi en Vigueur, tout en sachant que le Smart Contrat n'a aucune valeur juridique. Mais dès que ceux-ci sont déployés sur une Blockchain, ils ne nécessitent plus de supervision ou de contrôles d'une tierce partie

La création de Smart Contrat est très complexe, l'écriture en elle-même peut être la première source de bug, d'où l'intérêt d'utiliser dès le début le bon langage de programmations, tels que :

  • Solidity (le plus utilisé sur Ethereum, et surtout le plus simples pour les novices)

  • Viper

  • Serpent (similaire à Python)

  • Lem

 

Les avantages des Smart Contracts sont : 

  • Traitement économique et rapide des transactions

  • Contenu parfaitement clair et précis

  • Prévisibilité du règlement du Contrat

  • Aucune possibilité d'influencer le Contrat

  • Haute Transparence ainsi que Fiabilité et Sécurité

  • Déroulement via un infrastructure Globale

  • Coût de déploiement et de transaction faibles

Mais ils comportent aussi des limites :

  • Nécessite une base de données numérique

  • L'accès à l'information en dehors de la Blockchain est restreint, il faut faire appel à des Oracles 

  • Aucune possibilité d'influencer ou de modifier le Contrat, une fois celui-ci déployé sur la Blockchain

  • Pas de mécanisme prévu en cas de litige

  • Les cocontractants sont souvent anonymes

  • Adopte une Logique de transaction binaire → IF … THEN (SI ... DONC

Les domaines d'application sont très vastes :

  • Finances 

  • Assurances

  • Paiement déterminé et récurrent

  • Enchères

  • Gestion de l'identité

  • Location Maison/Appartement/Voiture

  • Paiement des Artistes/Musiciens

  • Traçabilité des produits Alimentaire et/ou Pharmaceutiques

  • Elections Locales/Nationales

  • Plateformes d'échanges de Cryptomonnaies



Il faut tout de même noter que, même si les Smart Contracts sont extrêmement sécurisés, de par le faite qu'ils soient hébergés sur une Blockchain, ils sont codés par des Humains, et les Humains peuvent être :

  • Partiaux

  • Faillibles

  • Malades

  • Incompétents

  • Corruptibles

Et une simple erreur dans le Code, peut être exploité par des Hackers qui peuvent en tirer profit, comme cela à été vu le 17 juin 2016 avec The DAO (The Decentralized Autonomous Organization) avait levée 150 Millions $ (alors que l'ETH valais 20$ à l'époque), une erreur dans le code a permis à des Hackers de dérober 50 Millions $

Alors que les Programmes Informatiques n'ont pas d'Âmes, donc en cas de problème de sécurité, le seul fautif ne peut être que celui qui a rédigé le Contrat. Et sont aussi moins cher qu'un Humain, d'où le principe de faire automatiser les actions par le Programme pour un gain d'argent non négligeable

 

Rappelez vous aussi, que la puissance d'un Smart Contrat réside uniquement dans l'intelligence que celle de son programmateur

 

Pour de détails à venir sur :

  • Comment fonctionne un Smart Contract

  • Quelle Blockchain et quelle langage de programmation

  • Différence entre Smart Contract et Contrat Classique 

  • Domaines d'applications plus détaillés

 

A Suivre.

 

A Bientôt

Christophe WILHELM

Bitcoin Meister

© Bitcoin Meister

 

Source images: Google

 

Resources

  1. https://bitcoinmeister.eu/

  2. https://nakamotoinstitute.org/

1
$ 3.02
$ 3.02 from @TheRandomRewarder
Avatar for ChrissCrypto
3 years ago

Comments