Aller au contenu principal

Crypto - Blockchain et réseaux

Smart contract

Définition

Un smart contract est un programme déployé sur une blockchain, qui s'exécute automatiquement quand une transaction l'appelle. Son code est public et reste figé une fois déployé, sauf mécanisme de mise à jour prévu dès le départ. La DeFi, les tokens, les NFT et les DAO reposent tous sur ce type de programme.

En clair

Déployé à une adresse précise de la blockchain, un smart contract y conserve son code et ses données. Toute personne peut lui envoyer une transaction pour appeler l'une de ses fonctions, en payant des frais de gas, en ETH sur Ethereum. Le réseau exécute alors le code tel qu'il est écrit, sans possibilité d'annuler le résultat une fois la transaction confirmée.

À la place d'un intermédiaire de confiance, le smart contract impose des règles que chacun peut lire avant de s'en servir. C'est lui qui garde les dépôts d'un protocole DeFi, crée les tokens ou enregistre la propriété des NFT. La solidité d'un projet crypto dépend donc largement de la qualité de ce code et de l'identité de ceux qui peuvent le modifier.

Un attaquant peut exploiter la moindre erreur de code pour détourner les fonds d'un smart contract. Selon ethereum.org, les sommes volées ou perdues à cause de ces failles dépassent largement 1 milliard de dollars. Un audit réduit ce risque sans le supprimer, car il ne détecte pas toutes les erreurs. Quand un smart contract reste modifiable via un proxy, il faut en revanche faire confiance aux développeurs qui contrôlent ses mises à jour.

Exemple

Un smart contract fictif de séquestre bloque 2 ETH versés par un acheteur jusqu'à la livraison d'un bien. Quand l'acheteur confirme la réception, le smart contract verse au vendeur les 2 ETH moins 0,5% de frais, soit 1,99 ETH. Sans confirmation sous 30 jours, il rend automatiquement les 2 ETH à l'acheteur, hors frais de gas.

À ne pas confondre

Pour aller plus loin

Qu'est-ce qu'un smart contract

Termes liés

Tout le glossaire bourse et crypto