Un smart contract est un programme informatique stocké sur une blockchain. Il s’exécute automatiquement quand les conditions définies dans son code sont remplies. Pas besoin de tiers de confiance : le code fait office de juge et d’exécuteur.
Un exemple simple
Imaginons un pari entre Alice et Bob sur un match de foot. Avec un smart contract :
- Alice et Bob déposent chacun 1 ETH dans le contrat
- Le contrat est programmé pour consulter un oracle (source de données externe) à la fin du match
- Le gagnant reçoit automatiquement les 2 ETH
Personne ne peut tricher, annuler ou modifier les termes après le déploiement.
Comment ça fonctionne techniquement ?
Les smart contracts sur Ethereum sont écrits en Solidity (un langage proche de JavaScript). Une fois compilés et déployés sur la blockchain, ils reçoivent une adresse unique. N’importe qui peut interagir avec un smart contract en envoyant une transaction à cette adresse.
Chaque exécution coûte des gas fees, car elle mobilise les ressources du réseau. Plus le contrat est complexe, plus les frais sont élevés.
Les limites à connaître
Immutabilité : une fois déployé, un smart contract ne peut pas être modifié. Si le code contient un bug, les fonds peuvent être perdus. Le hack de “The DAO” en 2016 a causé la perte de 60 millions de dollars à cause d’une faille dans un smart contract.
Dépendance aux oracles : les smart contracts ne peuvent pas accéder aux données hors blockchain. Ils dépendent de services comme Chainlink pour obtenir des prix, des résultats sportifs ou des données météo.
C’est pourquoi les audits de sécurité sont devenus une pratique standard avant tout lancement. Des firmes comme CertiK, Trail of Bits ou OpenZeppelin auditent le code avant le déploiement.
Où les smart contracts sont-ils utilisés ?
La grande majorité de l’écosystème crypto repose sur eux. La finance décentralisée (DeFi) en est l’exemple le plus visible : les protocoles de prêt comme Aave, les plateformes d’échange comme Uniswap ou les stablecoins algorithmiques sont tous des assemblages de smart contracts qui gèrent des milliards de dollars sans banque ni courtier.
Au-delà de la finance, ils servent à émettre et échanger des NFT, à automatiser la gouvernance d’une DAO via des votes on-chain, à verrouiller des fonds dans des contrats d’épargne programmée, ou encore à distribuer automatiquement des royalties à des créateurs. La plupart de ces usages sont nés sur Ethereum, dont la machine virtuelle (EVM) est devenue un standard repris par de nombreuses autres blockchains.
Comment vérifier un smart contract avant d’interagir ?
Avant de confier des fonds à un protocole, trois réflexes limitent les risques. D’abord, vérifier que le code a été audité par une firme reconnue et que le rapport est public. Ensuite, consulter depuis combien de temps le contrat est en production et combien de valeur il sécurise : un contrat éprouvé pendant des mois sur des sommes importantes inspire plus confiance qu’un protocole lancé la veille. Enfin, se méfier des contrats qui conservent des fonctions d’administration trop puissantes, car elles peuvent permettre à l’équipe de retirer les fonds.