# Portefeuilles HD TWINS

## 1. Introduction et Definitions

Dans un portefeuille cryptographique typique, une paire d'adresses privées / publiques (ou clés) est générée de manière aléatoire. Cela vous oblige à effectuer une sauvegarde chaque fois que vous créez une nouvelle paire d'adresses.&#x20;

Cependant, au début, vous pourriez penser que ce processus est facile. Mais lentement, il deviendra de plus en plus compliqué et encombrant de suivre / sauvegarder autant d'adresses privées / publiques que le nombre de vos transactions augmente.&#x20;

De plus, si vous êtes une personne qui se soucie de la confidentialité financière et effectue des transactions fréquentes, vous devrez peut-être générer beaucoup de paires d'adresses (ou clés) privées / publiques.&#x20;

*Ce qui signifie plus de sauvegardes!*&#x20;

D'un autre côté, certains portefeuilles réutilisent la même adresse de portefeuille pour toutes les transactions afin d'éviter des pertes, qui **peuvent survenir** suite à la perte d'une sauvegarde. Ce n'est pas une pratique très saine et peut compromettre votre vie privée financière.&#x20;

Et c'est pourquoi les portefeuilles HD ont été développés sous le BIP 32 (alias [Bitcoin Improvement Proposal 32](https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals)).

### **Qu'est-ce que les portefeuilles are HD?**

![](https://coinsutra.com/wp-content/uploads/2017/07/HD_Wallets.jpg)

Imaginez à quel point ce serait facile s'il existait un mécanisme pour générer en quelque sorte un modèle de clés publiques / privées qui ne pouvait pas être deviné et ne nécessitait aucune sauvegarde compliquée.&#x20;

Eh bien, il y en a un!

Ces portefeuilles faciles à utiliser sont appelés **portefeuilles HD**.&#x20;

HD est l'abréviation de **H**ierarchical **D**eterministic. Tous les portefeuilles HD utilisent des clés de départ principales de 12 mots. Chaque fois que cette graine est ajoutée par un compteur à la fin et est utilisée pour dériver de nouvelles adresses de portefeuille apparemment illimitées hiérarchiquement et séquentiellement.&#x20;

Étant donné que toutes les adresses sont dérivées d'une seule graine maître, vous n'avez qu'à vous soucier de la sauvegarder. C’est pourquoi il est appelé déterministe hiérarchique.

**Que se passe-t-il à l'intérieur d'un portefeuille HD?**&#x20;

Les portefeuilles HD génèrent une structure hiérarchique de clés arborescentes qui commencent à partir de la clé principale d'origine basée sur BIP 32. Lorsque vous restaurez un portefeuille HD à l'aide de la clé d'origine, le portefeuille continue et gère toutes les clés privées de l'arborescence à l'aide de BIP 32.

Et dès que le scan des clés est terminé sur le réseau, vos fonds sont récupérés!&#x20;

Lors de l'utilisation d'un portefeuille HD, la sauvegarde de la clé de départ est obligatoire et doit être conservée en toute sécurité afin que vous puissiez restaurer votre portefeuille en cas de perte ou d'endommagement de votre appareil.&#x20;

Et c'est la beauté des portefeuilles HD. Prendre une sauvegarde une seule fois signifie que toutes les adresses suivantes peuvent facilement être recréées mathématiquement à partir de l'algorithme. Les portefeuilles HD utilisent un algorithme de hachage SHA-256 unidirectionnel qui produit cet arbre de clés sans aucune erreur si l'entrée (ou la clé de départ) est la même.&#x20;

**Avantages des portefeuilles HD**&#x20;

* Vous devez sauvegarder une seule clé (c'est-à-dire «clé de départ»). C'est la seule sauvegarde dont vous aurez besoin.&#x20;
* Vous pouvez générer de nombreuses adresses de réception chaque fois que vous recevez des pièces.&#x20;
* Vous pouvez protéger votre vie privée financière.&#x20;
* Confondez les nouveaux utilisateurs, car votre adresse de réception change à chaque fois.

## 2. Comment utiliser un portefeuille HD - Sauvegarde/Restauration

Dans les portefeuilles TWINS et FIX, la prise en charge HD est désactivée par défaut. Pour l'activer, le portefeuille doit être lancé avec le paramètre de ligne de commande "-usehd=1", comme suit:

![](https://3467362499-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYrsxcSLvNaW1dSI5MX%2F-M0o1hreR5HR2QjAsrX2%2F-M0oSkbtQ61NWmsAbJ39%2Fimage.png?alt=media\&token=d394cd1a-2715-42f9-bda9-2c953e26cbc9)

Alternativement, la ligne "usehd=1" peut être incluse dans le fichier de configuration, comme suit:

![](https://3467362499-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYrsxcSLvNaW1dSI5MX%2F-M0oou3SuVuqpxpHEjPN%2F-M0op-m8_-jjZvrbIcBH%2Fimage.png?alt=media\&token=5dedcc7a-faf9-4c8b-85c3-9d1a7b6ffbbb)

![](https://3467362499-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYrsxcSLvNaW1dSI5MX%2F-M0okMeZ_0s1a2p9pRDg%2F-M0oo7aN0bO7WGYtUZQc%2Fimage.png?alt=media\&token=3afccdb5-3973-4c3c-9c8a-479f8a1c0cec)

Dans ce cas, vous devrez enregistrer le fichier conf et redémarrer le portefeuille.

**Remarque: une fois créé, le portefeuille ne peut pas être changé vers/du format HD/hérité.** Si vous souhaitez migrer d'un format à un autre, vous devrez créer un nouveau portefeuille (supprimer wallet.dat du dossier) et transférer tous les fonds.&#x20;

Une graine mnémonique aléatoire de 24 mots sera générée pour les nouveaux portefeuilles, qui peuvent être affichés à l'aide de la commande console / CLI '*dumphdinfo*', comme suit:

![](https://3467362499-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYrsxcSLvNaW1dSI5MX%2F-M0ooZlPT8VwKrGsjgYx%2F-M0oorxxEgZhk90ELMGB%2Fimage.png?alt=media\&token=ae292e5d-c3aa-40cb-80cf-094fa8ccdf89)

![](https://3467362499-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYrsxcSLvNaW1dSI5MX%2F-M0okMeZ_0s1a2p9pRDg%2F-M0ooUiiJJ_6CNxUisbk%2Fimage.png?alt=media\&token=3cafffae-54e2-4814-a7b4-50161c267625)

Afin de créer un nouveau portefeuille HD en restaurant la phrase initiale / mnémonique existante, le portefeuille doit être lancé avec les options suivantes:

```
-usehd=1 -mnemonic="ma phrase mnemonic ici" -mnemonicpassphrase="mode passe optionnel"
```

Exemple:

![](https://3467362499-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYrsxcSLvNaW1dSI5MX%2F-M0o1hreR5HR2QjAsrX2%2F-M0oVFIkQ8uPIG0DNfWF%2Fimage.png?alt=media\&token=34c131f2-827d-405f-b631-f167cc01cb3b)

ou

```
-usehd=1 -hdseed="_graine_hexa_correcte_"
```

Exemple:

![](https://3467362499-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYrsxcSLvNaW1dSI5MX%2F-M0o1hreR5HR2QjAsrX2%2F-M0oVaMchWPNfAMea2Ph%2Fimage.png?alt=media\&token=be317a41-b6a0-47d6-806b-e764debf5f49)

Une fois restauré, le portefeuille peut être lancé avec juste le paramètre "usehd=1".

## Remarques

* La commande *dumphdinfo* doit retourner le même résultat avant et après la récupération du portefeuille. De cette façon, vous êtes sûr que le portefeuille est bien restauré.&#x20;
* La commande *dumphdinfo* renvoie des informations privées sensibles du portefeuille HD, ne partagez jamais ces informations avec autrui.
* &#x20;Si malgré le contrôle ci-dessus, vos fonds n'apparaissent pas après la restauration, rendez-vous dans Outils / Réparation du portefeuille et "Réanalyser les fichiers blockchain". Il devrait rescanner la blockchain et récupérer les anciennes transactions (si vous en aviez). Tous vos fonds devraient alors être visibles dans le portefeuille.&#x20;
* Lors de la restauration d'un portefeuille HD, "l'adresse de réception" que vous aviez précédemment ne sera pas présente sous Fichier -> Adresses de réception. Cependant, ils appartiennent toujours à votre portefeuille et vous pourrez les utiliser en CLI dans la console de débogage par exemple.
