Risque des smart contracts, bridges et piratages
Comprenez comment les smart contracts et les bridges font défaut, tirez les leçons de piratages documentés, et estimez comment l'empilement des risques réduit un rendement DeFi.
Ce que vous allez apprendre
- Les principales façons dont les smart contracts font défaut : bugs de code, clés d'administrateur, oracles et mises à niveau.
- Comment fonctionnent les bridges inter-chaînes et pourquoi ce sont des cibles de choix.
- Ce que trois piratages de bridges documentés enseignent sur différents types de défaillance.
- Comment combiner plusieurs couches de risque en une estimation approximative de la perte attendue.
Explication
Un smart contract est un programme stocké sur une blockchain qui détient et déplace des tokens selon des règles fixes. Les arnaques et le phishing ont été traités dans le cours « Les fondamentaux du Bitcoin et des cryptomonnaies ». Cette leçon porte sur un autre danger : le protocole est honnête, mais le code ou sa configuration fait défaut.
Principaux types de défaillance
- Bugs de code : par exemple la réentrance (reentrancy), lorsqu'un contrat envoie des fonds avant de mettre à jour ses enregistrements, si bien qu'un attaquant peut l'appeler à nouveau et retirer des fonds à plusieurs reprises. The DAO sur Ethereum a perdu environ 3.6 millions d'ETH de cette manière en 2016.
- Clés d'administrateur : de nombreux protocoles disposent de clés privilégiées capables de suspendre, modifier ou mettre à niveau des contrats. Si une clé est volée ou utilisée à mauvais escient, les utilisateurs perdent des fonds même lorsque le code est correct. Un multisig (portefeuille multisignature) exige plusieurs clés, par exemple 5 sur 9, pour approuver une action.
- Contrats évolutifs (upgradeable) : le code peut être remplacé. Un timelock (verrou temporel) retarde les mises à niveau, par exemple de 48 heures, afin que les utilisateurs puissent partir avant.
- Manipulation d'oracle : un oracle transmet des prix externes à un contrat. S'il s'appuie sur un marché peu liquide, un attaquant peut faire bouger le prix à l'aide d'un flash loan (prêt éclair, emprunté et remboursé dans la même transaction) et tromper un protocole de prêt.
Un audit est un examen du code par une société de sécurité. Il réduit le risque mais ne le supprime pas ; plusieurs protocoles piratés avaient été audités.
Les bridges
Un bridge (pont) transfère de la valeur entre blockchains. Le modèle courant « lock-and-mint » (verrouiller et émettre) bloque des tokens dans un contrat sur la chaîne A et émet un wrapped token (token encapsulé) sur la chaîne B. Le wrapped token n'est qu'une reconnaissance de dette. Si les tokens bloqués sont volés, ou si des tokens sans contrepartie sont émis, le wrapped token peut perdre l'essentiel de sa valeur. Les bridges concentrent d'importantes réserves en un seul endroit, ce qui en fait des cibles attrayantes.
| Cas (2022) | Perte approximative | Cause profonde |
|---|---|---|
| Wormhole, février | environ $320 millions | Bug de vérification de signature : 120,000 wrapped ETH émis sur Solana sans dépôts |
| Ronin, mars | environ $625 millions | Les attaquants contrôlaient 5 des 9 clés de validateurs (une défaillance opérationnelle, et non de code) |
| Nomad, août | environ $190 millions | Une mise à niveau défectueuse a fait passer des messages invalides pour valides ; de nombreux imitateurs s'y sont joints |
La leçon : le risque réside dans le code, dans la gestion des clés et dans les mises à niveau. Dans le cas de Wormhole, une société liée a remplacé les fonds ; dans d'autres cas, les utilisateurs n'ont pas été entièrement remboursés. Le remboursement n'est jamais garanti.
Exemple chiffré
Exemple hypothétique : vous déposez €5,000 d'un stablecoin transféré via un bridge dans un protocole de prêt sur un réseau de couche 2 et vous attendez 6% par an. Vous attribuez à chaque couche des probabilités annuelles de défaillance approximatives et inventées : bridge 2%, réseau de couche 2 1%, protocole de prêt 3%, oracle de prix 1%. Hypothèses : les couches font défaut indépendamment les unes des autres ; toute défaillance signifie une perte totale ; frais, gas et impôts ignorés.
- Probabilité qu'aucune couche ne fasse défaut = 0.98 × 0.99 × 0.97 × 0.99 ≈ 0.932.
- Probabilité d'au moins une défaillance ≈ 1 − 0.932 = 0.068, soit environ 6.8%.
- Perte attendue ≈ €5,000 × 0.068 ≈ €342.
- Rendement attendu = €5,000 × 6% = €300.
- Résultat ajusté du risque ≈ €300 − €342 ≈ −€42 par an.
Comparaison : détenir le stablecoin sur sa chaîne d'origine dans un protocole plus simple avec des risques de 1% et 2% donne 1 − (0.99 × 0.98) ≈ 3.0%, soit une perte attendue d'environ €149 contre un rendement d'environ 3% (€150). Chaque couche supplémentaire doit se justifier par son rendement.
Erreur fréquente
Exercice pratique
Sur papier : vous envisagez de déposer €10,000 dans un pool qui promet 9% par an. Les tokens arrivent via un bridge (supposez un risque de défaillance annuel de 3%), la chaîne elle-même 2%, et le contrat du pool 4%. Supposez l'indépendance et une perte totale en cas de défaillance. Calculez la probabilité d'au moins une défaillance, la perte attendue et le résultat ajusté du risque.
Afficher la solution
Aucune défaillance = 0.97 × 0.98 × 0.96 ≈ 0.9126. Au moins une défaillance ≈ 8.7%.
Perte attendue ≈ €10,000 × 0.087 ≈ €874. Rendement attendu = €900.
Résultat ajusté du risque ≈ €900 − €874 ≈ €26 par an : presque rien pour une perte totale possible importante.
Limites : les probabilités réelles sont inconnues, les défaillances sont souvent liées (un piratage peut en déclencher d'autres), et des pertes partielles ou des remboursements sont possibles. La méthode vous aide à comparer des structures, pas à mesurer le risque réel.
Points clés
- Le risque des smart contracts inclut les bugs de code, les clés d'administrateur, les mises à niveau et les oracles.
- Les wrapped tokens sont des reconnaissances de dette ; si le bridge fait défaut, ils peuvent perdre presque toute leur valeur.
- Chaque couche ajoutée (bridge, réseau, protocole, oracle) multiplie les risques de défaillance.
- Les audits et les timelocks réduisent le risque ; ils ne le suppriment jamais, et le remboursement après un piratage n'est pas garanti.
Prochaine étape
La prochaine leçon porte sur les NFT et la tokenisation d'actifs du monde réel : ce que le token vous donne réellement et où se situent les risques.
Auto-évaluation
Répondez aux questions, puis vérifiez vos réponses. Vous pouvez recommencer autant de fois que vous le souhaitez.
Auto-évaluation automatique pour vos propres révisions. Vos réponses sont vérifiées dans votre navigateur ; nous ne les voyons pas et ne les évaluons pas. Ce n'est ni un examen ni une qualification.
Votre progression
« Terminée » signifie seulement que vous avez marqué la leçon comme lue. Ce n'est pas un test de votre compréhension. La progression et les notes sont enregistrées uniquement dans ce navigateur, sur cet appareil — pas dans un compte.