Aller au contenu
buybitcoinsmart

Glossaire / Adresses et clés

Wallet Import Format

Aussi appelé WIF.

Qu'est-ce que le Wallet Import Format ?
Le Wallet Import Format est l'encodage Base58 utilisé pour déplacer une clé privée unique entre portefeuilles, en enveloppant les 32 octets bruts avec un octet de réseau et une somme de contrôle.

Une chaîne WIF est une clé, pas un portefeuille : l'importer déplace exactement les bitcoins verrouillés sur cette clé et rien d'autre. Les clés du réseau principal commencent par 5 lorsque la clé publique correspondante n'est pas compressée, ou par K ou L lorsqu'elle est compressée, et comptent 51 ou 52 caractères. Traitez cette chaîne comme vous traiteriez une phrase de récupération, car quiconque la lit peut dépenser.

Comment cela fonctionne

Le Wallet Import Format existe pour rendre un secret brut transportable sans faute de frappe. Prenez les 32 octets de la clé, placez un octet de version devant (0x80 pour le réseau principal, 0xEF pour le réseau de test), ajoutez 0x01 si la clé est destinée à être utilisée avec une clé publique compressée, puis attachez quatre octets de somme de contrôle et encodez l'ensemble de la charge utile en Base58Check. L'octet de version est ce qui impose le premier caractère reconnaissable, et l'indicateur de compression facultatif est ce qui fait passer la chaîne de 51 à 52 caractères.

Ces deux variantes importent plus qu'elles n'en ont l'air. Le 0x01 final ne change pas la clé du tout ; il indique au portefeuille qui l'importe quelle forme de clé publique dériver, et donc quelle adresse examiner. En cas d'erreur, le portefeuille affiche un solde nul alors que les bitcoins se trouvent en sécurité à l'autre adresse.

La somme de contrôle détecte les erreurs de transcription avant qu'elles ne coûtent quoi que ce soit. Un portefeuille qui décode une chaîne WIF et constate une somme de contrôle non concordante la refuse d'emblée, de sorte qu'un seul caractère erroné produit un message d'erreur plutôt qu'un portefeuille vide. Ce qu'aucune somme de contrôle ne peut faire, c'est protéger une clé que quelqu'un d'autre a déjà lue.

Où le rencontre-t-on

Rien de ce que génère un portefeuille moderne n'est livré sous forme de chaîne WIF. Les portefeuilles à phrase de récupération selon le BIP-32 détiennent des milliers de clés et n'ont aucune raison d'en exporter une, si bien que le WIF apparaît presque exclusivement dans des documents plus anciens : portefeuilles papier imprimés par des générateurs en ligne, clés extraites de logiciels de bureau antérieurs à 2013, adresses personnalisées produites par un générateur de clés, et chaînes cachées sous les hologrammes des pièces physiques Casascius.

Il existe deux façons d'intégrer une telle clé dans un portefeuille actuel, et la différence n'est pas cosmétique.

L'importation ajoute la clé à votre portefeuille et la laisse en jeu. Le portefeuille peut désormais dépenser ces bitcoins, mais quiconque a vu l'impression, la photographie ou la machine qui l'a générée le peut aussi. Le balayage construit une transaction qui envoie la totalité du solde vers une adresse fraîche dérivée de votre propre phrase de récupération, après quoi l'ancienne clé ne contrôle plus rien. Balayez, sauf si vous avez une raison précise de ne pas le faire, et considérez que toute clé ayant existé sur papier, dans une capture d'écran ou dans une sauvegarde en cloud est déjà compromise.

Une habitude supplémentaire mérite d'être conservée : une chaîne WIF saisie sur un site web est perdue. Les pages de génération, les vérificateurs de solde et les "wallet validators" qui en demandent une existent pour récolter des clés, et les bitcoins sont généralement déplacés en quelques secondes.

Wallet Import Format vs phrase de récupération

Une chaîne WIF porte une clé, tandis qu'une phrase de récupération porte la racine de tout un portefeuille. Selon le BIP-39, une phrase de 12 mots encode 128 bits d'entropie et une phrase de 24 mots encode 256 bits, et à partir de cette racine un portefeuille dérive chaque clé qu'il utilisera, sur chaque chemin de dérivation, pour toujours. Restaurer une phrase rétablit tout le portefeuille, y compris les adresses que vous n'avez jamais notées. Restaurer une chaîne WIF rétablit une clé et ses bitcoins, c'est pourquoi une exportation de clé est un outil de récupération pour des fonds anciens plutôt qu'une stratégie de sauvegarde.

À ne pas confondre avec

Questions fréquentes

Faut-il importer ou balayer une ancienne clé privée ?

Balayez-la. Le balayage envoie les bitcoins vers une adresse dérivée de votre propre phrase de récupération, de sorte que l'ancienne clé cesse d'avoir de l'importance. L'importation maintient l'ancienne clé active dans votre portefeuille, et quiconque l'a déjà vue peut encore dépenser.

Que signifie qu'une clé WIF commence par 5 au lieu de K ou L ?

Cela signifie que la clé a été créée avant que les clés publiques compressées ne deviennent la norme, de sorte qu'elle s'associe à une clé non compressée de 65 octets et à une adresse différente. Les portefeuilles qui balayent les anciennes clés vérifient généralement les deux formes d'adresse pour vous.

À lire ensuite

Termes associés

Plus de termes : Adresses et clés

Lire cette page en anglais