Format WIF et stockage de clés privées

StephenM347

Format WIF et stockage de clés privées


J’écris une application Android qui stockera des clés privées pour Bitcoin et quelques Altcoins dans une base de données SQLite. Pour stocker mes clés privées, j’utilisais initialement le WIF. Cependant, lorsque je les retire de la base de données, je viens de les décoder en Base58 dans la clé privée de 32 octets. Existe-t-il un réel avantage à utiliser le format Base58 pour stocker les clés au format WIF par rapport au codage hexadécimal de base (0x12 à « 12 »)? Je sais que le WIF est utile pour la transposition humaine, mais je m’interroge spécifiquement sur le stockage ici.

Jusqu’à présent, ce que j’ai trouvé, c’est que le format Base58:

  1. Prend un peu moins d’espace
  2. Me dit pour quel type de pièce l’adresse est utilisée
  3. A une vérification d’erreur
  4. Indique si la clé privée est utilisée pour une adresse compressée ou décompressée.

Les éléments 2 à 4, cependant, sont des éléments que je pourrais obtenir à partir d’autres entrées de ma base de données SQLite, ils ne sont donc pas critiques. Comment le client Bitcoin-QT stocke-t-il ses clés privées? Je sais quand il les transfère à l’utilisateur qu’il leur donne en WIF, mais je me demande ce qu’il fait en interne pour enregistrer les clés sur la machine et si je dois le faire de la même manière.

Réponses


 Pieter Wuille

Le client Bitcoin Core stocke les clés privées généralement au format encodé DER, à 279 octets par clé, pour une compatibilité avec les anciennes versions. Il n’y a cependant aucune bonne raison à cela. Pour les portefeuilles chiffrés, qui sont plus modernes, les clés sont stockées en utilisant uniquement le secret (chiffré) de 32 octets plus la clé publique complète. La compression est dérivée de la longueur de la clé publique correspondante, elle n’a donc pas besoin d’être stockée séparément.

 

#de, #et, clés, format, privées,, stockage, WIF

 

yahoo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *