Qu’est-ce qu’une erreur de somme de contrôle ? Le guide de détection des cryptomonnaies
Une erreur de somme de contrôle signifie que les données ont échoué à un test mathématique. Dans le domaine des cryptomonnaies, ce test est bien moins robuste que la plupart des utilisateurs ne le pensent. L'EIP-55 d'Ethereum détecte environ une faute de frappe sur quatre mille. Le Base58Check de Bitcoin est environ mille fois plus robuste. Le Base58Check l'est encore davantage. Pourtant, aucune de ces sommes de contrôle ne protège un portefeuille contre l'attaque qui a permis de dérober 713 millions de dollars à des portefeuilles personnels en 2025, car l'adresse malveillante présente dans le presse-papiers ou dans l'historique des transactions est elle-même une chaîne de caractères valide, dont la somme de contrôle est correcte. Voilà ce qu'est une erreur de somme de contrôle, pourquoi les portefeuilles de cryptomonnaies en affichent une et pourquoi un résultat correct ne garantit pas la sécurité.
Réponse courte aux problèmes d'erreurs de somme de contrôle en cryptographie
Une erreur de somme de contrôle indique à l'utilisateur qu'une adresse, un fichier ou une phrase de récupération n'a pas satisfait au test d'intégrité intégré. Le portefeuille, la plateforme d'échange ou le programme d'installation refuse d'agir car un bit a été inversé, un caractère a été mal saisi ou les données ont été altérées. Dans le domaine des cryptomonnaies, cette erreur détecte les fautes de frappe et les corruptions accidentelles. Elle ne détecte pas une adresse parfaitement saisie contrôlée par un attaquant. La plus importante perte de portefeuille documentée en 2025, soit 50 millions de dollars en USDT en décembre, est due à une victime ayant copié une adresse dont la somme de contrôle était parfaitement valide ; cette adresse appartenait en réalité à un escroc.
Qu'est-ce qu'une somme de contrôle (et qu'est-ce qu'elle n'est pas) ?
Imaginez une somme de contrôle comme un minuscule reçu pour un colis beaucoup plus volumineux : un bloc de données haché à quelques octets par un calcul connu. L'expéditeur joint la somme de contrôle originale. Le destinataire effectue le même calcul, obtient une nouvelle somme de contrôle et la compare. Une correspondance signifie que les données sont intègres. Une non-correspondance indique une corruption des données : un bit inversé dans la RAM, un téléchargement interrompu, une faute de frappe. C'est cette non-correspondance que les portefeuilles et les installateurs signalent comme une erreur de somme de contrôle. Les valeurs de somme de contrôle calculées ne correspondent pas à la valeur attendue associée aux données originales (la valeur stockée publiée par l'expéditeur). Aucune erreur de données n'a été détectée, car les mécanismes de détection d'erreurs et de contrôle d'intégrité de base ont été exécutés.
Mécaniquement, les sommes de contrôle classiques relèvent de l'arithmétique, et non de la cryptographie. La variante la plus simple consiste à découper les données en mots et à effectuer une addition en complément à un (l'astuce du « complément à un » utilisée dans la vénérable somme de contrôle TCP/IP d'Internet depuis 1988). Des méthodes légèrement plus sophistiquées existent, comme la parité longitudinale, l'algorithme de Fletcher et les CRC (contrôles de redondance cyclique), qui sont très proches les unes des autres. Un contrôle de redondance cyclique est rapide et efficace en cas d'erreurs de transmission. Pour garantir l'intégrité des fichiers modernes, le choix dominant est Adler-32 (rapide, sans cryptographie), MD5 ou SHA (plus lents, mais beaucoup plus robustes). La plupart des utilisateurs effectuent une vérification à l'aide d'outils logiciels tels que `sha256sum`, `md5sum` et HashCheck.
Voici la limite. Une somme de contrôle peut prouver que les données n'ont pas été accidentellement corrompues ou altérées au niveau octet. Rien de plus. Elle ne peut pas prouver qui a créé les données. SHA-256, un hachage cryptographique, est beaucoup plus robuste qu'un CRC. Il ne prouve cependant pas l'auteur ; pour cela, l'éditeur signe le hachage avec sa clé privée. Les utilisateurs de cryptomonnaies confondent souvent les deux. « L'adresse a passé la validation de la somme de contrôle » ne signifie pas « l'adresse appartient à la bonne personne ». N'importe qui peut générer une adresse Ethereum ou Bitcoin valide. Seul le détenteur de la clé privée contrôle les fonds. La vérification de la somme de contrôle confirme que l'adresse est correcte. À quel portefeuille pointe-t-elle ? C'est une autre question, avec une autre réponse.

Fonctionnement des algorithmes de calcul de sommes de contrôle cryptographiques : EIP-55, Base58Check, Bech32
Trois systèmes bien réels dominent le marché des cryptomonnaies de détail, et chacun a été conçu avec une priorité différente.
L'EIP-55 est le système de contrôle d'adresse d'Ethereum prenant en compte la casse. Proposé par Vitalik Buterin et Alex Van de Sande le 14 janvier 2016, il fonctionne en convertissant l'adresse en minuscules, en hachant cette chaîne avec Keccak-256, puis en remettant en majuscules les lettres hexadécimales (A à F) en fonction des bits de ce hachage. Seules les 15 lettres hexadécimales d'une adresse classique peuvent voir leur casse inversée, ce qui confère au système environ 15 bits de contrôle effectifs. L'EIP-1191, proposé en mars 2018, étend l'EIP-55 en y intégrant l'identifiant de la chaîne afin d'éviter les conflits entre les sommes de contrôle d'adresse sur Ethereum et sur une chaîne dérivée comme Rootstock.
Base58Check est le système de chiffrement traditionnel de Bitcoin. Il ajoute une somme de contrôle de 4 octets à la fin de l'adresse encodée, calculée à partir des 4 premiers octets du double hachage SHA-256 de l'octet de version et de la charge utile. Le préfixe « 1 » d'une adresse P2PKH correspond à un octet de version 0x00 ; le préfixe « 3 » d'une adresse P2SH correspond à 0x05. L'alphabet Base58 lui-même omet les caractères 0, O, I et l, sources de confusion visuelle. Le calcul de la somme de contrôle pour Base58Check consiste en un seul appel SHA-256 suivi d'une comparaison de 4 octets.
Bech32 (BIP-173) est le schéma d'adressage SegWit de Pieter Wuille et Greg Maxwell, datant de 2017. Son code BCH à 6 caractères garantit la détection de toute erreur affectant jusqu'à quatre caractères et maintient le taux d'erreur non détecté en dessous d'un milliard pour les corruptions importantes. Une découverte subtile de 2020 (l'insertion ou la suppression d'un « q » avant un « p » final permet de préserver la somme de contrôle) a motivé le BIP-350 Bech32m, désormais utilisé par Taproot (version témoin 1).
| Schème | Année | Exemple d'adresse | Vérifier la taille | Détection typique de fautes de frappe |
|---|---|---|---|---|
| EIP-55 / EIP-1191 | 2016 / 2018 | `0xAbCd...EfGh` | ~15 bits | ~99,97 % (1 échec sur 4 000) |
| Base58Check (P2PKH) | 2009 | `1A1zP1...` | 32 bits | ~99,99999999 % |
| Base58Check (P2SH) | 2012 | `3J98t1...` | 32 bits | ~99,99999999 % |
| Bech32 (SegWit v0) | 2017 | `bc1q...` | ~30 bits | ≥99,999999999 % d'erreurs sur 4 caractères |
| Bech32m (Tarroot) | 2020 | `bc1p...` | ~30 bits | Idem, corrige l'insertion qp |
Le tableau présente les deux chiffres les plus importants de l'article. Il faut les considérer comme des budgets de conception, et non comme des garanties de sécurité.
Pourquoi la norme EIP-55 ne détecte qu'une seule faute de frappe sur 4 000 ?
La spécification EIP-55 indique explicitement le taux d'échec : la probabilité qu'une faute de frappe aléatoire dans une adresse Ethereum permette de valider la somme de contrôle est de 0,0247 %, soit environ une chance sur 4 049. Il ne s'agit pas d'un bug. C'est le résultat obtenu grâce à 15 bits de contrôle effectifs. Ce système a été mis à jour en 2016, afin d'être rétrocompatible avec le format d'adresse hexadécimal existant de 40 caractères. La compatibilité a un coût en termes de robustesse de la détection.
Pour les transactions courantes, cela ne pose généralement pas de problème. Un utilisateur qui saisit ou colle une adresse une seule fois risque fort d'être repéré en cas d'erreur. En revanche, un utilisateur qui colle la même adresse erronée dix fois de suite passera systématiquement le contrôle de somme de contrôle, car l'adresse est valide. L'écart d'un facteur mille avec le système Base58Check de Bitcoin, et le passage à Bech32, explique pourquoi les développeurs de portefeuilles soucieux de l'expérience utilisateur considèrent la vérification des adresses Ethereum comme la responsabilité de l'utilisateur et non du protocole.
Erreurs de somme de contrôle hors chiffrement : WinRAR, BIOS, firmware, disque dur
La plupart des personnes qui tapent « erreur de somme de contrôle » dans Google ne sont pas des utilisateurs de cryptomonnaies. Elles sont confrontées à WinRAR, à un écran de démarrage d'ordinateur bloqué ou à un NAS défaillant. Même vocabulaire. Enjeux radicalement différents.
WinRAR est le logiciel classique. Vous téléchargez un fichier .rar, vous l'extrayez, et là, un message d'erreur CRC s'affiche : l'archive est corrompue. La cause est généralement banale : un téléchargement interrompu, une connexion Wi-Fi instable, un secteur défectueux sur le disque, ou parfois un logiciel malveillant ayant infecté le fichier pendant son transfert. Téléchargez à nouveau le fichier depuis sa source. Exécutez CHKDSK. Si vous tenez absolument à récupérer les données, l'option « Conserver les fichiers endommagés » de WinRAR vous permettra d'extraire une copie partielle du contenu.
Une erreur de somme de contrôle du BIOS ou du CMOS au démarrage d'un PC est presque toujours due à la pile bouton CR2032 de la carte mère qui est déchargée. Parfois, une mise à jour du firmware ayant échoué a corrompu la NVRAM. Il arrive aussi que l'utilisateur ait retiré une barrette de RAM et que l'empreinte matérielle enregistrée ne corresponde plus. Remplacez la pile. Restaurez les paramètres par défaut. L'ordinateur démarre.
ZFS et Btrfs génèrent des erreurs de somme de contrôle lorsqu'un disque dur renvoie un bloc dont le hachage ne correspond pas à celui enregistré. Ces erreurs sont intentionnelles : elles permettent de détecter les erreurs de données silencieuses.
Ce qui devrait inquiéter un utilisateur de cryptomonnaies, c'est une erreur de somme de contrôle du firmware sur un portefeuille matériel. Le chargeur de démarrage de Trezor revérifie la signature du firmware à chaque démarrage. L'élément sécurisé de Ledger fait de même. L'erreur « Signature invalide » ou « Erreur inconnue (0x6984) » de Ledger lors de l'installation signifie que l'appareil vous avertit clairement que le firmware détecté ne correspond pas à celui attendu par sa clé racine. Arrêtez-vous. Débranchez l'appareil. Téléchargez à nouveau le firmware depuis l'URL du fournisseur que vous connaissez par cœur. Quiconque ignore cet avertissement s'expose à une attaque de la chaîne d'approvisionnement.
Quand une erreur de somme de contrôle signifie une falsification — et quand elle n'en signifie pas une
L'idée maîtresse de cet article est que les sommes de contrôle détectent bien les corruptions aléatoires. Elles sont cependant inefficaces contre un attaquant qui a délibérément choisi une adresse valide.
Le rapport 2026 de Chainalysis sur la criminalité liée aux cryptomonnaies estime le vol total de cryptomonnaies à 3,4 milliards de dollars en 2025, dont 1,5 milliard provenant du seul piratage de Bybit. Les portefeuilles personnels ont perdu 713 millions de dollars, touchant environ 80 000 victimes dans près de 158 000 incidents. Presque aucune de ces pertes n'est due à des erreurs de saisie dans les sommes de contrôle, car les plateformes d'échange et les portefeuilles les rejettent dès la saisie. Ces pertes proviennent de deux types d'attaques que les sommes de contrôle valides ne peuvent empêcher.
La première méthode consiste à empoisonner une adresse. L'attaquant envoie une transaction de faible valeur depuis une adresse nouvellement générée, conçue pour partager les premiers et derniers caractères de l'adresse d'une contrepartie fréquente de la victime. Lors de la prochaine copie d'une adresse dans l'historique des transactions, l'adresse usurpée apparaît en tête de liste. Son checksum est parfaitement valide. Le portefeuille de la victime est au vert. Les fonds sont transférés à l'attaquant. Selon une étude de Chainalysis citée par Carnegie Mellon, 270 millions de tentatives d'empoisonnement d'adresses sont attendues en 2025, ciblant 17 millions de victimes potentielles. L'incident du 20 décembre 2025, au cours duquel un trader a perdu 50 millions de dollars en USDT, s'est produit environ 26 minutes après l'envoi d'une petite transaction de test. Ce test n'a pas permis de sauver la victime, car l'adresse empoisonnée était déjà enregistrée dans l'historique.
La seconde menace concerne les pirates de presse-papiers. Des logiciels malveillants comme GitVenom, documenté par Kaspersky, remplacent discrètement toute adresse cryptographique copiée dans le presse-papiers par une adresse contrôlée par un attaquant. Fin 2024, les pertes estimées dues à GitVenom ont atteint environ 485 000 dollars, touchant des victimes au Brésil, en Turquie et en Russie. Là encore, l'adresse substituée possède une somme de contrôle valide. Le portefeuille ne présente aucun élément suspect. Les données critiques, destinataires d'un transfert important, passent entre les mailles du filet car elles n'ont jamais été altérées ni corrompues ; elles ont simplement été remplacées par une adresse tout aussi valide.
| Attaque de 2025 | Mécanisme | Est-ce que la somme de contrôle a permis de l'arrêter ? |
|---|---|---|
| Empoisonnement d'adresse (50 millions de dollars UST, 20 décembre 2025) | Adresse usurpée dans l'historique des transactions | Non, l'adresse usurpée possède une somme de contrôle EIP-55 valide. |
| Pirates de presse-papiers (GitVenom, environ 485 000 $) | Le logiciel malveillant remplace l'adresse copiée | Non, l'adresse de substitution est valide |
| Arnaques par bot MEV sur le thème de ChatGPT (>30 ETH, >100 victimes) | Le contrat recommandé par l'IA vide le portefeuille | Non — la somme de contrôle ne permet pas de vérifier l'intention du contrat |
| Les escroqueries assistées par l'IA en général | 4,5 fois plus rentable que les systèmes traditionnels | Non, cela repose sur l'ingénierie sociale, et non sur les fautes de frappe. |
Une somme de contrôle verte signifie que l'adresse est valide. Cela ne signifie pas pour autant qu'elle vous appartient. Cette distinction est l'information la plus importante qu'un utilisateur de cryptomonnaies puisse retenir de cet article.
Phrase d'initialisation BIP-39 : pourquoi des mots valides échouent-ils au test de somme de contrôle ?
Les phrases de récupération BIP-39 comportent également une somme de contrôle, ce qui peut surprendre lors de la récupération. Le système encode les derniers bits de SHA-256, en les combinant à l'entropie du portefeuille, dans le dernier mot de la phrase. Une phrase de 12 mots ne contient que 4 bits de somme de contrôle, tandis qu'une phrase de 24 mots en contient 8. Pour 12 mots, cela signifie qu'environ un mot sur seize seulement sera validé. « Je suis certain que ma phrase est correcte, mais le portefeuille la rejette » est très généralement dû à une faute de frappe dans la phrase ou à un mot incorrect parmi les 2 048 mots de la liste BIP-39.
Côté matériel, les contrôles sont plus stricts. Trezor et Ledger revérifient la signature du firmware à chaque démarrage via un élément sécurisé, et non au niveau de l'appareil hôte. Une signature non conforme est considérée comme une tentative de falsification et le firmware refuse de s'exécuter. C'est le comportement normal. Toute personne constatant une erreur de somme de contrôle ou de signature du firmware d'un portefeuille matériel doit y voir une alerte, et non un simple dysfonctionnement.

Comment vérifier et corriger une erreur de somme de contrôle : bonnes pratiques
La liste de vérification est courte. Elle est identique pour la plupart des portefeuilles et plateformes d'échange.
Adresse Ethereum. Copiez-la depuis le canal vérifié de votre contrepartie (son profil public, et non un message privé Telegram). Collez-la. Laissez le portefeuille la valider. Envoyez 1 $ comme transaction de test. Attendez la confirmation. Envoyez ensuite le montant total. Kraken stocke par défaut toutes les adresses ETH enregistrées au format EIP-55. Binance et Coinbase rejettent les adresses dont la somme de contrôle est invalide lors de la soumission, avant toute diffusion sur la blockchain. MetaMask utilise par défaut le format EIP-55 et affiche un avertissement pour les adresses modifiées manuellement ; par le passé, il acceptait également les adresses entièrement en minuscules, ce qui a fait l'objet de nombreuses plaintes sur GitHub pendant des années.
Adresse Bitcoin. Privilégiez le format Bech32 (`bc1...`) aux anciens formats `1...` et `3...` lorsque votre contrepartie le prend en charge. La détection d'erreurs est nettement plus robuste et le format de l'adresse est plus difficile à interpréter incorrectement.
Téléchargement de fichier : binaire du portefeuille, image du firmware du portefeuille matériel, ISO Linux. Calculez le hachage SHA-256 localement. Comparez-le à la valeur signée de l'éditeur, et non à la copie imprimée à côté du lien de téléchargement. Un pirate informatique contrôlant la page de téléchargement peut intervertir les deux. Conservez une copie de sauvegarde de tout fichier vérifié dont vous vous servez. Détecter les erreurs ultérieurement est beaucoup plus facile lorsqu'une copie valide est stockée sur une clé USB ou une version imprimée.
Erreur de somme de contrôle ou de signature du firmware du portefeuille matériel. Ne pas contourner. Téléchargez à nouveau le firmware depuis l'URL documentée du fournisseur. Essayez un autre câble. Essayez un autre port USB. Redémarrez Ledger Live ou Trezor Suite. Si l'erreur persiste, contactez l'assistance du fournisseur. Les recherches « réparer Ledger 0x6984 » sur les forums tiers attirent les pirates.
Une phrase à retenir : une somme de contrôle réussie prouve que les données n’ont pas été corrompues accidentellement. Elle ne prouve pas que les données correspondent à celles que vous vouliez envoyer.