Qu’est-ce que le risque de smart contract ?

Le risque de smart contract, c’est la chance de perdre de la valeur — ou d’en perdre l’accès utilisable — parce que le comportement d’un programme on-chain, ses dépendances, ses oracles ou son autorité d’admin / d’upgrade produit un résultat que vous n’avez pas voulu au moment du dépôt, de l’autorisation ou de l’interaction. Le risque de smart contract, ce n’est pas « la chaîne a oublié vos coins ».
Définition
Le risque de smart contract, c’est la chance de perdre de la valeur — ou d’en perdre l’accès utilisable — parce que le comportement d’un programme on-chain, ses dépendances, ses oracles ou son autorité d’admin / d’upgrade produit un résultat que vous n’avez pas voulu au moment du dépôt, de l’autorisation ou de l’interaction.
En clair :
Le risque de smart contract, ce n’est pas « la chaîne a oublié vos coins ». C’est le risque que du code que vous avez autorisé — ou du code qui peut réécrire les règles après votre dépôt — déplace, gèle, mal valorise ou draine de la valeur selon sa propre logique.
La conservation demande qui peut dépenser. Le risque de smart contract demande ce que les programmes que vous touchez ont le droit de faire, ce qu’ils supposent du monde, et qui peut changer ces règles plus tard.
En trading
La vraie question de trading
Pour cette exposition, puis-je nommer les contrats, les surfaces de confiance (oracles, upgrades, admins) et une forme de perte que je peux encore survivre si ces surfaces cassent — ou est-ce que je traite « audité / TVL élevée / logo familier » comme un substitut à la mesure ?
Répondez par dépôt et par surface d’autorisation. Répondez à nouveau après les upgrades, après les changements d’oracle, et après les sauts de taille. Un slogan unique pour chaque interaction DeFi, c’est le piège de la seule reconnaissance que cette page laisse derrière elle.
Deux indicateurs que les gens fusionnent en un seul
| Unes « hack » à l’échelle du marché | Expositions de protocole DeFi | |
|---|---|---|
| Ce qui domine souvent les pertes en dollars | Clés, signers, infra wallet, front-ends, compromission admin | Logique de protocole et hypothèses économiques |
| Ce qui domine souvent le nombre d’incidents | Mixte ; les bugs de code restent fréquents | Logique, contrôle d’accès, oracle, chemins comptables |
| Erreur du trader | Lire chaque histoire de perte comme « les contrats sont dangereux, donc éviter le DeFi » | Lire chaque badge d’audit comme « le risque de code est clos » |
| Réponse utile | Garder un indicateur de conservation pour les places et les clés | Garder un indicateur contrat / oracle / upgrade pour les dépôts |
Les deux indicateurs sont réels. Les mélanger produit le mauvais hedge : soit vous sous-dimensionnez chaque protocole parce que les vols de clés CeFi ont rempli l’actualité, soit vous sur-faites confiance à un vault parce que « la plupart de la valeur volée cette année, c’était des clés ».
Lecture bornée des décomptes récents de l’industrie : sur l’ensemble du marché, l’infrastructure et la compromission de clés possèdent souvent la majeure partie de la valeur ; à l’intérieur des pertes de protocoles DeFi, la logique possède souvent la majeure partie de la masse de perte. Utilisez les deux faits. N’en choisissez pas un pour jeter l’autre.
Taxonomie (des classes, pas un seul drapeau « hacké »)
| Classe | Ce qui casse | Comment la perte apparaît |
|---|---|---|
| Contrôle d’accès | Fonctions privilégiées appelables par la mauvaise partie | Mint, pause, upgrade, set-price, chemin de drain s’ouvre |
| Logique métier | Règles voulues ≠ règles codées | Rewards faux, maths de collatéral fausses, liquidation ou mint/redeem cassés |
| Réentrance / appels externes | Contrôle cédé avant que l’état soit final | Withdraw répété, réentrée cross-function, callbacks de hooks |
| Arithmétique / arrondi / shares | Maths fixed-point, fees, shares ou réserves dérivent | Fuite de valeur silencieuse ; les états extrêmes amplifient les erreurs d’un wei |
| Oracle / liquidité fine | La logique de sécurité fait confiance à un prix mobile ou périmé | Emprunts sous-eau, liquidations injustes, collatéral gonflé |
| Amplification flashloan | Du capital same-tx pousse une hypothèse faible jusqu’à la rupture | Le bug racine était déjà là ; le capital temporaire l’a rendu payant |
| Proxy / upgradeability | Chemin d’implémentation ou d’initializer / admin faible | Réécriture de logique, claim non initialisé, corruption de storage |
| Griefing / DoS | Disponibilité ou sorties bloquées sans « vol » propre | Withdrawals coincés, liquidations bloquées, distributions qui revert |
Les listes Top 10 style OWASP font tourner les rangs d’année en année. Contrôle d’accès, logique métier et oracles restent près du sommet ; les chemins facilités par flashloan et les catégories proxy/upgrade ont monté comme surfaces pratiques. Traitez la liste comme un menu de moniteurs, pas comme une carte de bingo.
Surfaces de second ordre (là où la taille expérimentée meurt vraiment)
La réentrance de manuel n’est pas le seul indicateur. Ces chemins de second ordre comptent en général davantage dès que vous quittez la taille jouet :
- Composabilité — votre vault va bien jusqu’à ce qu’il valorise ses shares sur un pool pair, un wrapper ou un bridge que vous n’avez jamais revu.
- Trous de scope d’audit — beaucoup de post-mortems de protocoles « audités » montrent que le chemin d’attaque était hors de tout scope d’audit public, ou dans une dépendance / un keeper / un forwarder que le rapport n’a jamais couvert.
- Bytecode non vérifié ou décalé — nom UI ≠ adresse explorer ≠ l’implémentation que le proxy pointe actuellement.
- Upgrade sans fenêtre de revue — pas de timelock, un seul upgrader EOA, ou swap d’implémentation silencieux après votre dépôt.
- Pause d’urgence comme confiance — une pause peut sauver un drain et peut aussi piéger les sorties ; qui tient l’interrupteur fait partie du prix du risque.
- Drain partiel vs total — certains bugs écrèment l’arrondi ; certains vident le pool ; certains gèlent les fonds sans les transférer. Dimensionnez pour la pire forme crédible, pas pour l’une moyenne.
- Contrats « sûrs » périmés — d’anciens déploiements sont revisités ; l’âge n’est pas un halo de sécurité si des incentives sont encore dans l’adresse.
Surfaces résiduelles sur les places wallet-first
Le trading wallet-first (y compris des places comme edgeX) réduit le risque « IOU de bilan d’entreprise » lorsque votre autorisation déplace les fonds. Le risque de contrat apparaît encore lorsque :
- vous autorisez un spender qui peut tirer des tokens plus tard
- vous déposez dans un vault, un bridge ou un produit structuré
- le matching ou le settlement dépend de contrats dont le chemin d’upgrade ou d’oracle n’est pas cartographié
- un front-end cloné vous demande de signer contre une adresse différente de celle que vous avez vérifiée
Si votre checklist ne demande que « est-ce non dépositaire ? », vous êtes encore sur l’ancien indicateur.
Scènes travaillées (du jugement, pas des slogans)
A — Arrondi sous pression flashloan.
Les maths de withdraw d’un pool arrondissent du mauvais côté dans un tick extrême. Le flux normal a l’air correct. Du capital emprunté dans la même transaction pousse le pool dans cet état, extrait l’écart, rembourse le prêt, et laisse les LP à court. Le flashloan était l’amplificateur. Le bug était comptable.
B — « Hack d’oracle » qui était du contrôle d’accès.
Les mises à jour de prix sont censées passer par un chemin keeper / forwarder. Un forwarder faible laisse un attaquant atteindre `setPrices`. Ils impriment une mauvaise marque, ouvrent et ferment contre elle, et repartent. La marque du feed n’était pas la racine ; qui pouvait écrire le feed l’était.
C — Vault audité, dépendance hors scope.
Trois PDF d’audit sont sur le site docs. Le drain utilise un helper de bibliothèque ou un vérificateur de bridge que ces rapports n’ont jamais scopés. « Nous avons été audités » était vrai et incomplet. Demandez quel commit, quels fichiers, quels chemins économiques, et ce qui a changé depuis.
D — Proxy jour un vs année deux.
Vous avez dimensionné un dépôt quand l’implémentation était gelée et que multisig + timelock étaient publics. Six mois plus tard, un upgrade arrive avec une fenêtre courte et un nouveau rôle. Même adresse proxy ; surface de confiance différente. Réévaluez ou sortez — n’héritez pas de la thèse de l’année dernière.
Monitoring (ce qu’il faut falsifier)
Notez chaque exposition de contrat matérielle contre des faits que vous pouvez vérifier — pas des badges.
| Moniteur | Pass ressemble à | Fail ressemble à |
|---|---|---|
| Carte d’adresses | Vous pouvez nommer proxy vs implémentation vs spender | « Le contrat du site », non vérifié |
| Carte de permissions | Les rôles pour upgrade, pause, mint, écriture d’oracle sont connus | Une clé « owner » divine que vous ne pouvez pas décrire |
| Chemin d’upgrade | Timelock / multisig / culture de diffs publiés | Upgrades EOA silencieux |
| Design d’oracle | Agrégé / TWAP / fraîcheur / bornes d’écart là où la taille en a besoin | Spot same-tx d’un pool fin pour les liquidations |
| Hygiène d’audit | Scope, date, hash de commit ; bounty encore live | Mur de logos ; pas de scope ; code déplacé après le rapport |
| Composabilité | Vous savez de quels pools/bridges externes l’exposition dépend | Wrappers imbriqués que vous ne pouvez pas nommer |
| Surface d’allowance | Moindre privilège ; révocation périodique | Approve illimité pour toujours à chaque router |
| Drill de sortie | Un petit withdraw a marché récemment | Mémoire musculaire dépôt-seulement |
| Posture d’incident | Pause scopée ; monitoring ; habitude de post-mortem public | TVL comme preuve de sécurité |
Défauts conditionnels (partez d’ici, puis ajustez)
- Si vous ne pouvez pas nommer l’adresse du contrat et qui peut l’upgrader → ne montez pas en taille sur l’exposition.
- Si le pricing critique pour la sécurité lit un spot same-transaction d’un pool fin → traitez les chemins de liquidation / mint / redeem comme hostiles jusqu’à preuve du contraire.
- Si le seul confort est « audité » sans scope ni commit → traitez l’audit comme du marketing, pas comme un indicateur.
- Si un upgrade a atterri après votre dépôt → réévaluez ; n’assumez pas la continuité.
- Si un capital de taille flashloan peut déplacer l’oracle ou les maths de shares dont vous dépendez → dimensionnez comme si ce capital allait apparaître.
- Si le trading chaud et les dépôts de protocole partagent des autorisations illimitées → séparez les surfaces dans la même semaine.
- Si la taille a grimpé fortement → refaites la carte même si l’UI n’a pas changé.
Gestes de design
- Séparez les autorisations de float de trading des dépôts de protocole idle.
- Préférez des adresses vérifiées collées depuis une source connue à « Connect and hope ».
- Plafonnez chaque exposition de protocole à une forme de perte que vous pouvez survivre (écrémage vs vide vs gel).
- Répétez un petit withdraw avant de monter en taille.
- Révoquez les allowances illimitées périmées selon un calendrier.
- Préférez les places et protocoles qui publient adresses de contrats, politique d’upgrade et scope d’audit — puis lancez quand même vos propres moniteurs.
- Écrivez un court ordre de stress : quelle exposition vous sortez en premier si une alerte d’upgrade ou d’oracle part.
Limites de ce cadre
Cette page ne remplace pas un audit professionnel, une vérification formelle, ni une réponse à incident pour les builders. Elle ne tarifie pas chaque particularité de chaîne, de bridge ou de finalité L2. Elle ne sauvera pas une exposition si vous ignorez le phishing et signez un spender malveillant. Les indicateurs voisins — conservation, autorisations, MEV, risque de protocole vs plateforme vs utilisateur — s’appliquent encore. Utilisez cette taxonomie pour cesser de compresser chaque perte on-chain en un seul mot.
À ne pas confondre avec
- Risque de conservation — autorité de dépense / échec contrepartie-vs-opérateur ; s’empile avec les dépôts de protocole, ce n’est pas le même indicateur.
- Risque d’autorisation de token — allowance qui peut permettre un pull plus tard ; souvent la porte vers le risque de contrat, pas tout l’arbre d’exploit.
- Risque de prix — la marque peut bouger alors que le comportement du code et le contrôle restent intacts.
- Risque de liquidité / slippage — ne pas pouvoir sortir une taille dans le marché ≠ vault drainé, gelé ou mal valorisé par la logique du programme.
- MEV / sandwich — ordonnancement et extraction autour de votre transaction ; peut toucher le design d’oracle/swap, ce n’est toujours pas un synonyme de bug de logique.
Partager
Articles associés
IntermédiaireQu’est-ce qu’un smart contract ?
AvancéQu’est-ce que le risque de conservation ?
DébutantQu’est-ce qu’une autorisation de token ?
AvancéRisque de protocole vs risque de plateforme vs risque utilisateur
IntermédiaireQu’est-ce que la liquidité ?
IntermédiaireQu’est-ce que le slippage ?
DébutantCEX vs DEX : les différences clés
DébutantQu’est-ce que l’auto-conservation ?

Prêt pour la suite ?
Passez à l’inscription ou au trading depuis cette page via les liens officiels.
Avertissement
Ce contenu est fourni à des fins éducatives uniquement et ne constitue pas un conseil en investissement. Le trading d'actifs numériques et de produits dérivés comporte des risques. Assurez-vous de comprendre les produits et tenez compte de votre situation avant de trader.