{"id":190,"date":"2026-07-25T18:28:22","date_gmt":"2026-07-25T18:28:22","guid":{"rendered":"https:\/\/cryptocurrencyminers.net\/what-smart-contracts-can-and-cannot-enforce-fr\/"},"modified":"2026-07-30T18:42:11","modified_gmt":"2026-07-30T18:42:11","slug":"what-smart-contracts-can-and-cannot-enforce-fr","status":"publish","type":"post","link":"https:\/\/cryptocurrencyminers.net\/fr\/what-smart-contracts-can-and-cannot-enforce-fr\/","title":{"rendered":"Ce que les smart contracts peuvent et ne peuvent pas imposer"},"content":{"rendered":"<p>L&#8217;expression smart contract fait beaucoup de travail qu&#8217;elle n&#8217;a pas m\u00e9rit\u00e9. Elle sugg\u00e8re quelque chose de juridique, quelque chose d&#8217;intelligent, quelque chose qui veille sur un accord. Ce qui est r\u00e9ellement d\u00e9ploy\u00e9, c&#8217;est un programme stock\u00e9 sur une blockchain, qui s&#8217;ex\u00e9cute lorsqu&#8217;il est d\u00e9clench\u00e9 et d\u00e9place des actifs selon son propre code. Comprendre l&#8217;\u00e9cart entre le nom et le m\u00e9canisme explique l&#8217;essentiel du risque.<\/p>\n<h2>Ce qui est r\u00e9ellement d\u00e9ploy\u00e9<\/h2>\n<p>Un smart contract est du code et des donn\u00e9es stock\u00e9es, r\u00e9sidant \u00e0 une adresse sur une cha\u00eene. N&#8217;importe qui peut lui envoyer une transaction qui appelle l&#8217;une de ses fonctions. Chaque n\u0153ud ex\u00e9cute le m\u00eame code sur le m\u00eame \u00e9tat et aboutit au m\u00eame r\u00e9sultat, ce qui rend le r\u00e9sultat v\u00e9rifiable plut\u00f4t que fond\u00e9 sur la confiance.<\/p>\n<p>L&#8217;ex\u00e9cution a un co\u00fbt, g\u00e9n\u00e9ralement proportionnel au travail de calcul effectu\u00e9. Ce co\u00fbt n&#8217;est pas un simple d\u00e9tail comptable : il plafonne la complexit\u00e9 que peut atteindre en pratique une logique on-chain, et pousse les d\u00e9veloppeurs vers des contrats minimalistes, en traitant le plus possible hors cha\u00eene (off-chain). Cela signifie aussi qu&#8217;un contrat peut \u00e9chouer simplement parce qu&#8217;il a \u00e9puis\u00e9 son budget en cours d&#8217;ex\u00e9cution.<\/p>\n<p>Deux propri\u00e9t\u00e9s en d\u00e9coulent. L&#8217;ex\u00e9cution est d\u00e9terministe : les m\u00eames entr\u00e9es donnent toujours les m\u00eames sorties. Et sur la plupart des cha\u00eenes, le code d\u00e9ploy\u00e9 est immuable, si bien que ce que l&#8217;on d\u00e9ploie est ce qui s&#8217;ex\u00e9cutera pour toujours.<\/p>\n<h2>Ce qu&#8217;un smart contract fait r\u00e9ellement respecter<\/h2>\n<p>Au sein de sa propre cha\u00eene, la capacit\u00e9 d&#8217;un contrat \u00e0 faire respecter les r\u00e8gles est tr\u00e8s forte. Il peut d\u00e9tenir des actifs et ne les lib\u00e9rer que lorsque des conditions \u00e9nonc\u00e9es sont remplies. Il peut imposer un ordre, de sorte que l&#8217;\u00e9tape deux ne puisse pas se produire avant l&#8217;\u00e9tape un. Il peut imposer des r\u00e8gles arithm\u00e9tiques telles que des plafonds d&#8217;offre ou des calendriers d&#8217;\u00e9mission. Il peut imposer un contr\u00f4le d&#8217;acc\u00e8s, en restreignant certaines fonctions \u00e0 des adresses particuli\u00e8res. Et il peut faire tout cela sans op\u00e9rateur susceptible de changer d&#8217;avis.<\/p>\n<p>Il s&#8217;agit d&#8217;une capacit\u00e9 r\u00e9elle. Un s\u00e9questre (escrow) qu&#8217;aucun interm\u00e9diaire ne peut piller, une offre de tokens que personne ne peut discr\u00e8tement gonfler, et une tenue de march\u00e9 automatis\u00e9e (market making) fonctionnant sans carnet d&#8217;ordres, sont autant de v\u00e9ritables r\u00e9ussites de ce mod\u00e8le. La valeur vient de la suppression du pouvoir discr\u00e9tionnaire, pas de l&#8217;ajout d&#8217;intelligence.<\/p>\n<h2>Ce qu&#8217;il ne peut pas faire<\/h2>\n<p>Un contrat n&#8217;a pas de sens. Il ne peut pas voir une livraison arriver, un envoi passer la douane, ou un service \u00eatre rendu. Il ne conna\u00eet que ce qui est inscrit dans l&#8217;\u00e9tat de sa cha\u00eene. Toute interaction avec le monde physique n\u00e9cessite qu&#8217;une personne l&#8217;atteste, et \u00e0 ce moment-l\u00e0, c&#8217;est \u00e0 cet attestateur que l&#8217;on fait confiance.<\/p>\n<p>Un contrat n&#8217;a pas non plus de port\u00e9e. Il ne peut pas saisir des biens, effectuer une saisie sur salaire ni contraindre un comportement. Si un accord doit \u00eatre appliqu\u00e9 contre une personne plut\u00f4t que contre une r\u00e9serve d&#8217;actifs on-chain, le code ne le permet pas. En pratique, cela signifie que les smart contracts fonctionnent bien lorsque l&#8217;objet entier de l&#8217;accord est d\u00e9j\u00e0 on-chain, et de moins en moins bien \u00e0 mesure que l&#8217;on s&#8217;en \u00e9loigne.<\/p>\n<p>Un contrat ne peut pas non plus exercer de jugement. Il ne peut pas reconna\u00eetre qu&#8217;une contrepartie a agi de mauvaise foi tout en respectant la lettre des termes, ou que les circonstances ont chang\u00e9 d&#8217;une mani\u00e8re que personne n&#8217;avait anticip\u00e9e. Les contrats humains survivent gr\u00e2ce \u00e0 l&#8217;interpr\u00e9tation. Le code n&#8217;en a aucune.<\/p>\n<h2>O\u00f9 le risque se concentre r\u00e9ellement<\/h2>\n<p>La cryptographie sous-jacente est rarement le probl\u00e8me. Les d\u00e9faillances se concentrent dans quelques endroits reconnaissables.<\/p>\n<h3>Une logique qui fait ce qu&#8217;elle dit, pas ce qui \u00e9tait voulu<\/h3>\n<p>Le cas classique est celui d&#8217;une fonction pouvant \u00eatre r\u00e9-entr\u00e9e avant qu&#8217;elle n&#8217;ait termin\u00e9 de mettre \u00e0 jour sa propre comptabilit\u00e9, permettant \u00e0 un appelant de retirer des fonds \u00e0 r\u00e9p\u00e9tition contre un solde qui n&#8217;a pas encore \u00e9t\u00e9 d\u00e9cr\u00e9ment\u00e9. Le code s&#8217;est ex\u00e9cut\u00e9 correctement. C&#8217;est la conception qui \u00e9tait erron\u00e9e. L&#8217;immuabilit\u00e9 rend alors l&#8217;erreur permanente, \u00e0 moins qu&#8217;un m\u00e9canisme de secours n&#8217;ait \u00e9t\u00e9 int\u00e9gr\u00e9.<\/p>\n<h3>Le contr\u00f4le d&#8217;acc\u00e8s<\/h3>\n<p>De nombreux incidents se r\u00e9sument \u00e0 une fonction privil\u00e9gi\u00e9e qui n&#8217;a pas \u00e9t\u00e9 correctement restreinte, ou \u00e0 une cl\u00e9 administrative plus puissante ou moins prot\u00e9g\u00e9e que les utilisateurs ne le pensaient. Un contrat peut \u00eatre irr\u00e9prochable dans sa logique centrale tandis qu&#8217;une adresse propri\u00e9taire conserve discr\u00e8tement le pouvoir de le vider.<\/p>\n<h3>De mauvaises donn\u00e9es en entr\u00e9e<\/h3>\n<p>Les contrats qui font r\u00e9f\u00e9rence \u00e0 des prix, des taux ou des r\u00e9sultats d\u00e9pendent d&#8217;oracles. Lorsqu&#8217;un prix est lu \u00e0 partir d&#8217;une source qu&#8217;il est possible de manipuler \u00e0 peu de frais, un attaquant peut fausser la donn\u00e9e d&#8217;entr\u00e9e et laisser le contrat causer les d\u00e9g\u00e2ts en son nom. Le contrat se comporte correctement d&#8217;un bout \u00e0 l&#8217;autre.<\/p>\n<h3>La composition<\/h3>\n<p>Les protocoles s&#8217;appuient les uns sur les autres, et un contrat s\u00fbr isol\u00e9ment peut ne plus l&#8217;\u00eatre lorsqu&#8217;un autre contrat peut l&#8217;appeler selon une s\u00e9quence inattendue au sein d&#8217;une m\u00eame transaction. Le comportement \u00e9mergent entre des composants individuellement sains est l&#8217;une des cat\u00e9gories de risque les plus difficiles \u00e0 appr\u00e9hender.<\/p>\n<h2>L&#8217;immuabilit\u00e9, une propri\u00e9t\u00e9 \u00e0 double tranchant<\/h2>\n<p>L&#8217;immuabilit\u00e9 est la raison pour laquelle un smart contract peut inspirer confiance sans qu&#8217;il faille faire confiance \u00e0 son auteur. C&#8217;est aussi la raison pour laquelle un bug peut \u00eatre impossible \u00e0 corriger. Les \u00e9quipes r\u00e9agissent avec des sch\u00e9mas \u00e9volutifs (upgradeable), des timelocks qui retardent les changements afin que les utilisateurs puissent sortir, et un contr\u00f4le multi-signature des cl\u00e9s administratives. Chaque mesure d&#8217;att\u00e9nuation est une r\u00e9introduction partielle de confiance, choisie d\u00e9lib\u00e9r\u00e9ment.<\/p>\n<p>Aucune configuration ne permet d&#8217;\u00e9liminer ce compromis. Totalement immuable signifie totalement engag\u00e9 envers ce qui a \u00e9t\u00e9 d\u00e9ploy\u00e9. \u00c9volutif signifie que quelqu&#8217;un peut changer les r\u00e8gles. La position honn\u00eate consiste \u00e0 savoir quel mod\u00e8le un protocole donn\u00e9 utilise, qui d\u00e9tient les cl\u00e9s, et quel d\u00e9lai existe avant que les changements ne prennent effet.<\/p>\n<h2>En quoi cela touche le minage et le consensus<\/h2>\n<p>Les contrats s&#8217;ex\u00e9cutent \u00e0 l&#8217;int\u00e9rieur de blocs, ce qui signifie que leurs garanties ne valent que ce que valent les garanties de r\u00e8glement de la cha\u00eene sous-jacente. Sur une cha\u00eene o\u00f9 les r\u00e9organisations sont peu co\u00fbteuses, une transaction qui semblait d\u00e9finitive peut \u00eatre annul\u00e9e, et tout \u00e9tat de contrat qui en d\u00e9pendait dispara\u00eet avec elle. La s\u00e9curit\u00e9 de la cha\u00eene, qu&#8217;elle provienne du proof of work accumul\u00e9 ou du stake engag\u00e9, fait donc partie du mod\u00e8le de s\u00e9curit\u00e9 d&#8217;un contrat, et non d&#8217;un sujet distinct. Cette relation est d\u00e9taill\u00e9e plus en profondeur dans <a href=\"https:\/\/cryptocurrencyminers.net\/category\/blockchain-technology\/\">notre couverture de la technologie blockchain<\/a>.<\/p>\n<h2>Une m\u00e9thode pratique pour en \u00e9valuer un<\/h2>\n<p>Avant d&#8217;interagir avec un contrat, quelques questions permettent de faire l&#8217;essentiel du travail. Le code source est-il v\u00e9rifi\u00e9 et lisible, ou s&#8217;agit-il seulement d&#8217;un binaire compil\u00e9 ? Est-il \u00e9volutif, et si oui, qui peut le mettre \u00e0 jour et \u00e0 quelle vitesse ? De quelles donn\u00e9es externes d\u00e9pend-il, et comment ces donn\u00e9es sont-elles obtenues ? A-t-il fait l&#8217;objet d&#8217;un audit, \u00e0 quelle version, et les conclusions ont-elles \u00e9t\u00e9 trait\u00e9es ? Quelle valeur a-t-il d\u00e9tenue, et pendant combien de temps ?<\/p>\n<p>Rien de tout cela ne garantit la s\u00e9curit\u00e9. Cela permet de passer d&#8217;une confiance accord\u00e9e \u00e0 une description \u00e0 une \u00e9valuation d&#8217;un m\u00e9canisme, ce qui est le maximum que l&#8217;on puisse honn\u00eatement obtenir. Pour la terminologie environnante, voir le <a href=\"\/glossary\/\">glossaire<\/a>, et pour savoir comment nous abordons ce type de sujet en g\u00e9n\u00e9ral, voir notre <a href=\"https:\/\/cryptocurrencyminers.net\/fr\/methodology\/\">m\u00e9thodologie<\/a>. Rien ici ne constitue un conseil financier.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un smart contract est un code qui s&#8217;ex\u00e9cute exactement comme il a \u00e9t\u00e9 \u00e9crit, ce qui constitue \u00e0 la fois sa force et son risque central. Voici ce qu&#8217;il fait r\u00e9ellement respecter, ce qu&#8217;il ne peut pas toucher, et o\u00f9 se concentrent les d\u00e9faillances.<\/p>\n","protected":false},"author":3,"featured_media":77,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-smart-contracts-explained"],"_links":{"self":[{"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/posts\/190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/comments?post=190"}],"version-history":[{"count":1,"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/posts\/190\/revisions"}],"predecessor-version":[{"id":302,"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/posts\/190\/revisions\/302"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/media\/77"}],"wp:attachment":[{"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/media?parent=190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/categories?post=190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cryptocurrencyminers.net\/fr\/wp-json\/wp\/v2\/tags?post=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}