Commençons par un point facile à manquer : une signature valide ne garantit pas que l’argent sera envoyé à la personne que vous avez choisie.
Le 25 septembre, Bitcoin Core a intégré une modification à sa branche de développement pour corriger un cas très particulier lié aux PSBT. Lorsqu’une entrée est signée avec SIGHASH_SINGLE, la signature devrait la lier à la sortie située à la même position. Mais si aucune sortie n’existe à cette position, ce lien est rompu.
Les conséquences varient selon deux cas. Avec l’ancien format d’entrée, la signature peut se réduire à une valeur de hachage fixe. D’autres sorties non dépensées contrôlées par la même clé peuvent alors être réutilisées si les conditions de structure sont identiques. SegWit v0 offre une meilleure protection : la signature reste liée à la pièce concernée et à son montant, mais pas à l’adresse du destinataire.
La clé privée n’a pas été divulguée : c’est là toute la différence. Le problème vient de l’autorisation : le portefeuille ou l’appareil de signature peut vous afficher un destinataire, alors que la signature désigne quelqu’un d’autre.
Pour l’instant, ce correctif n’existe que sur la branche de développement, et on ne sait pas encore dans quelle version officielle il sera intégré. La vraie question à suivre n’est donc pas de savoir quand Core publiera une nouvelle version, mais quand les portefeuilles et les fabricants de dispositifs de signature matérielle vérifieront leur propre logique de signature.