Nous poursuivons notre exploitation de l’écosystème autour des cryptomonnaies avec les smart contracts, qui sont une des utilisations possibles des blockchains, et qui pourraient bien arriver rapidement dans notre vie quotidienne.
Cet article fait partie du dossier « Cryptomonnaies, le gros dossier »
Origine des smart contracts
Si on associe les smart contracts aux cryptomonnaies (donc à quelque chose de récent), ils ont été théorisés bien en amont. C’est Nick Szabo, un informaticien et cryptographe américain, qui a formalisé ce concept dans les années 90.
Mais c’est effectivement la mise en place des blockchains dans le cadre du Bitcoin et de l’Ethereum qui a permis une mise en application des smart contracts. En effet, les blockchains de part leur traçabilité et leur robustesse, permettent d’avoir une application fiable et concrète de ce qui n’était jusqu’alors qu’un concept.
Principe et usages d’un « contrat intelligent »
Concrètement, un smart contract est un contrat qui va s’exécuter automatiquement en fonction de conditions. En général, ce déclenchement s’accompagne d’un transfert d’actifs. Ces conditions et le programme informatique du contrat sont stockées dans la blockchain.
Ainsi, la bonne exécution d’un contrat dépend de critères définis à l’avance et connus de tous, et c’est l’algorithme qui une fois les conditions remplies va déclencher les actions. Dans ce cas, il n’y a plus besoin de tiers de confiance pour valider la bonne exécution du contrat.
On voit ainsi qu’un smart contract peut avoir beaucoup d’applications possibles dans la vie de tous les jours. Par exemple dans le domaine de l’assurance, de la logistique, dans la location…
Prenons un exemple simple. Vous avez sans doute déjà participé à un crowdfunding, par exemple dans le cadre du lancement d’un projet artistique. Le principe du crowdfunding est le suivant : un objectif est fixé avec un montant en une date. Les internautes peuvent participer à cette levée de fond. Si l’objectif est atteint les fonds sont versés à l’artiste, sinon ils sont restitués aux participants. C’est typiquement le genre d’exemple où les smarts contracts prennent tout leur intérêt. Car on pourrait totalement imaginer que ce soit un smart contract qui pilote le versements des fonds en fonction des conditions fixées.
Avantages et inconvénients des smart contracts
Ces contrats intelligents (le terme n’est peut être pas forcément le plus approprié d’ailleurs) présentent différents avantages. La transparence, car les conditions sont connues de tous. La réduction de coûts et l’efficacité du fait de la suppression de nombreux intermédiaires.
Au chapitre des inconvénients, on peut bien sûr citer le fait que comme cela repose sur un programme informatique. Cela peut donc être sujet à des failles de sécurité. On peut aussi être réticent au fait qu’un algorithme régisse complètement un contrat, car cela ne laisse pas de place à l’interprétation d’un humain. Et dans certains cas, cela ne sera tout simplement pas possible.
En savoir plus sur les smart contracts
Si vous voulez approfondir le sujet, voici quelques liens :
- un excellent article, très approfondi comme souvent, sur le site Cryptoast
- une fiche Wikipédia sur les impacts, avantages et inconvénients de ces contrats
- un article très complet d’un point de vue juridique (il faudra en revanche être abonné pour voir la fin de l’article)
- Les outils d’apprentissage d’Ethereum si vous voulez commencer à apprendre à coder des smart contracts
Une vidéo de présentation rapide des principes et quelques exemples concrets
Un ensemble de vidéos pour apprendre à coder en Solidity, je vous mets ici l’épisode 1, vous trouverez les autres sur la même chaîne YouTube :