Chargement
keyboard_arrow_up
FondamentauxTechnique

Le concept de smart contract, ou “contrat intelligent”, a été théorisé pour la première fois par Nick Szabo en 1994, dans un papier scientifique sobrement intitulé “Smart contracts”La blockchain Ethereum est la plus utilisée pour déployer des smart contracts. Dans cet article, nous tâcherons de rappeler la définition d'un smart contract, puis de présenter le fonctionnement plus spécifique d'un smart contract Ethereum.

Dans le résumé de sa publication, Nick Szabo présente les smart contracts de la manière suivante:

“ Un contrat intelligent est un protocole de transaction informatisé qui exécute automatiquement les termes d'un contrat. Les objectifs généraux de la conception de contrats intelligents sont de satisfaire aux conditions contractuelles courantes (telles que les modalités de paiement, les privilèges, la confidentialité et même l'exécution), de minimiser les erreurs tant malveillantes qu'accidentelles et de minimiser le besoin d'intermédiaires fiables. Les objectifs économiques connexes comprennent la réduction des pertes dues à la fraude, les coûts d'arbitrage et d'application de la loi et les autres coûts de transaction. ”

La volonté est claire, automatiser les contrats et les rendre applicables sans le recours à un tiers. 

En 1996, Nick Szabo précise sa pensée à travers une nouvelle publication traitant des smart contracts, “Smart Contracts: Building Blocks for Digital Markets”.

Il faudra cependant attendre 2015 et le déploiement d’Ethereum pour voir une première application des smart contracts. Ces derniers représentaient le point central d’Ethereum, point qui peut se ressentir dans le whitepaper “A Next-Generation Smart Contract and Decentralized Application Platform”.

Qu'est-ce qu’est un smart contract exactement ? 

Une définition possible a été vue précédemment avec la citation de Nick Szabo extraite de la publication originelle. Cependant, nous pouvons spécifier cette définition en résumant ces contrats en quatre points. 

  1. Un contrat intelligent est un accord entre plusieurs parties sous forme de code informatique. 
  2. Ils sont distribués et de ce fait, stockés dans une base de données publique et ne peuvent pas être modifiés (dans notre cas une blockchain).
  3. Ils permettent d’effectuer des transactions de manière automatique sans avoir recours à une tierce partie, ne dépendant ainsi de personne. 
  4. Les transactions automatisées se produisent lorsqu’une ou plusieurs conditions du contrat sont remplies. 

L’essor du réseau Ethereum et l’imagination débordante de la communauté nous ont montré à quels points ces contrats peuvent se complexifier et effectuer des opérations et procédés évolués. 

Comment fonctionne un smart contract sur Ethereum ? 

Les smart contracts Ethereum reposent sur un langage de programmation: Solidity. Ce langage, encore sans nom lors de la rédaction du white paper, était décrit par Vitalik Buterin comme étant: 

“Un langage de programmation Turing-complet qui peut être utilisé pour créer des "contrats" qui permettent de coder des fonctions arbitraires de transition d'état, permettant aux utilisateurs de créer n'importe lequel des systèmes décrits ci-dessus, ainsi que de nombreux autres que nous n'avons pas encore imaginé, en écrivant simplement la logique dans quelques lignes de code.”

Ces contrats ont un large éventail de possibilités:

  • Fonctionner comme des comptes multisignatures implémentant des conditions supplémentaires, comme le fait que les fonds ne puissent être dépensés que lorsqu’un pourcentage défini des signataires donnent leur accord.
  • Gérer les accords entre utilisateurs, comme les accords contractuels classiques.
  • Peuvent être utilisés par d’autres contrats, afin que ceux-ci “déportent” certaines fonctionnalités sur des contrats existants. 
  • Stocker les informations d’une application, telles que les registres des membres de l’application.

Une fois que les différentes procédures et conditions de ces contrats sont codées, ils sont déployés sur Ethereum et exécutés dans l’Ethereum Virtual Machine, ou machine virtuelle d’Ethereum

C’est une sorte de système d’exploitation décentralisé à travers les nœuds de la blockchain Ethereum, et dans lequel les smart contracts sont exécutés. Pour être exécutés sans problème par l’EVM, les contrats se doivent de répondre à trois critères et doivent être :

  • Déterministes (pour de mêmes arguments, les fonctions du contrats doivent toujours renvoyer le même résultat)
  • Finalisables 
  • Isolés

Le problème réside dans le fait que pour certains programmes, il n’est pas possible de savoir s’il se finalisera un jour ou s’il tombera dans une boucle infinie. C’est pour éviter le problème de boucle infinie que le gas a été implémenté sur Ethereum.

Cette unité de mesure, sous forme de frais, permet de définir la durée pendant laquelle un contrat ou une transaction ethereum sera exécutée sur la blockchain, si elle n’est pas finalisée. 

Exemples de smart contracts Ethereum

Après plusieurs années de fonctionnement et de mise à l’épreuve, les smart contracts d’Ethereum ont su attiser l'enthousiasme des développeurs. Ces derniers ont imaginé de nombreuses applications dans un large panel de domaines. 

Assurances

En septembre 2017, une filiale du groupe d’assurance AXA nommée Fizzy a lancé un service d’assurance 100% automatisé grâce à des smart contracts. Ce service indemnise automatiquement les passagers d’un vol ayant subi un retard supérieur à 2 heures. 

Santé

Dans ce domaine nous pouvons citer Kidner Project, un projet auquel a participé la Française Sajida Zouarhi souhaitant décentraliser et augmenter la traçabilité de la gestion des transplantations d’organes.

Entreprises

Les smart contracts peuvent être utilisés dans le cadre de la gestion d’une entreprise. Par exemple, l’ensemble des versements des salaires peuvent être automatisés de manière simple et fiable.

ICO / STO

Il n’est pas aisé de parler de smart contracts sans parler d’ICO (Initial Coin Offering) ou de STO (Security Token Offering). Tous deux sont des modes de financement permettant aux créateurs de projets tokenisés d’organiser des préventes des tokens. Eux aussi fonctionnent grâce à des smart contracts, le standard ERC-20 est utilisé par les ICO et le standard ERC-1400 pour les STO.

 

Comme nous avons pu le voir, les smart contracts représentent un outil puissant et flexible qui peut être appliqué à de nombreux domaines. Le concept a été repris par de nombreuses autres blockchains “concurrentes” d’Ethereum, avec pour la plupart leurs particularités d’implémentations. Cependant, Ethereum reste le protocole le plus largement utilisé pour déployer ces programmes,  notamment par de grandes entreprises dans le cadre de réseaux privés.

 

Pour aller plus loin :

Commentaires

Indice des prix

Sécurisez vos cryptos

Ledger Nano S
Ledger Blue
Trezor Hardware wallet

Flux Twitter

Achetez des bitcoins/ethers

Acheter bitcoins et ethers sur Coinhouse
Acheter des bitcoins sur ZeBitcoin
Achat / Vente de crypto-monnaies sur coinbase
BitIt, achat de crypto-monnaies facile et rapide
SpectroCoin, le multi-services
Cex.io, Achat / Vente et échange de crypto-monnaies
Coinmama, l’achat bitcoin ethereum facile