Qu'est-ce qu'un wallet hierarchical-deterministic (HD) ?

Explication du modèle de gestion de clés le plus récent du domaine des wallets crypto.

Avatar de Luca, plus communément appelé Professeur Web3

Luca
7 minutes de lecture ·

Représentation d'un HD wallet par un wallet étant le point d'origine d'un arbre à deux branches elles-mêmes représentées par des nœuds.

Information sur cette leçon

Tu es sur le point de lire la leçon n° 16 du niveau intermédiaire.
Avant de poursuivre, je recommande d'avoir lu :

  1. Qu'est-ce qu'un wallet ?
  2. Qu'est-ce qu'un cold wallet ?

Si tu es déjà à l'aise avec ces notions, c'est parfait.
Bonne lecture !

Dans la leçon précédente, tu apprenais ce qu'était un cold wallet.

Aujourd'hui, on va encore parler de wallet. Sauf que cette fois-ci, on se focalisera sur leur modèle de gestion de clés.

Et plus particulièrement sur celui nommé hierarchical-deterministic (HD). C'est le modèle le plus récent et désormais le plus utilisé de toute l'industrie.

Bien que son nom soit imprononçable, je suis sûr que tu vas vite comprendre ce qu'il y a à savoir à son sujet.

C'est parti !

Les différents modèles de gestion de clés pour wallets #

Avant de plonger dans les détails du modèle HD, voici une courte mise en contexte.

Un wallet permet de générer et de gérer les clés privées et publiques (adresses) dont il aura la garde. Ce qui permet de réaliser toutes ces actions s'appelle un modèle de gestion de clés.

Au fil des années, différents modèles se sont succédés. Celui nommé hierarchical-deterministic (déterministe hiérarchique en français) est le dernier d'entre eux.

Avant de l'expliquer, revenons rapidement sur les évolutions qui l'ont précédé.

1. Non déterministe #

Avec le modèle non-deterministic, aussi appelé JBOK (pour Just a Bunch of Keys), chaque clé privée est générée aléatoirement.

Dans ce modèle, le concept de seed phrase est inexistant.

Cela implique que toute paire clé privée – clé publique générée doit être sauvegardée individuellement. Considérant la longueur de ces informations, le risque d'erreur est important d'autant plus que l'organisation de leur stockage peut vite devenir chaotique.

Cette façon de générer des clés est aujourd'hui obsolète.

2. Déterministe #

Un deterministic wallet est un wallet où une seule et même seed phrase permet de générer toutes les clés et adresses pour une crypto donnée.

Ce modèle est dit linéaire ou plat.

Sa faiblesse vient du fait que pour chaque crypto différente, une seed différente est également requise.

L'utilisateur est donc forcé de conserver et sécuriser une multitude de seed phrases s'il souhaite interagir avec plusieurs cryptomonnaies.

Ce labeur additionnel peut s'avérer contraignant.

Il augmente virtuellement le risque qu'une de ces informations fuite, soit piratée, ou soit simplement perdue. D'autant plus qu'il ajoute une complexité non négligeable à la gestion du wallet en question.

Les premières versions d'Electrum utilisaient ce modèle.

3. Déterministe hiérarchique #

Ce modèle est une sous-catégorie (et une évolution) du précédent.

La différence ici est que l'ensemble des clés générées est structuré sous forme d'arbre — qui fait office de hiérarchie.

Il y a une unique seed qui une fois dérivée permet d'obtenir une clé privée maîtresse (la master private key, parfois simplement nommée master key). C'est cette dernière qui est en mesure de générer un ensemble infini de paires de clés privées et publiques.

Depuis 2019, la quasi-totalité des wallets fonctionnent sous ce modèle.

Ledger, Trezor, MetaMask , tous ces wallets utilisent en arrière-plan un modèle HD pour générer et gérer les clés dont ils ont la charge.

La partie qui suit couvre en détail les innovations techniques apportées par ce modèle de gestion de clés.

Zoom technique sur le modèle hierarchical-deterministic #

Zoomons davantage sur le modèle HD pour comprendre en quoi il diffère des précédents.

Déjà, décomposons et expliquons les termes principaux du modèle.

Hiérarchique (hierarchical) : les clés et adresses sont générées et organisées sous forme d'arbre.

Déterministe (deterministic) : les clés et adresses sont toujours générées de la même façon. Implicitement, cela veut dire que le processus de génération de clés n'utilise pas d'aléatoire.

On parle beaucoup de clés et d'adresses depuis le début et je suis volontairement resté succinct sur ces notions. La section qui suit explicitera toute imprécision volontairement laissée jusque-là.

Master key, chain code et extended key #

Ehhh oui ! Tout est histoire de clé.

La master (private) key est le point d'origine de toutes les clés privées / publiques étendues qui peuvent être générées. Elle est créée en utilisant une fonction de hachage (HMAC-SHA512) à laquelle la seed est envoyée.

Processus de création de la master key

Le résultat est une chaîne de 64 caractères. Les 32 premiers constituent la master key et les 32 restants le master chain code (parfois juste appelé chain code).

Ces deux informations combinées à des métadonnées permettent enfin de créer la master extended private key (ou juste master extended key).

C'est cette dernière qui va permettre de générer toutes les clés privées et publiques étendues (aussi appelées respectivement xPrv et xPub).

Processus de création des clés privées et publiques étendues

Comme tu peux le voir, la master key est bien la racine de l'arbre (le point de départ de la hiérarchie) de toutes les clés possibles.

C'est pourquoi avec le modèle HD, la seed seule permet de retrouver l'intégralité des clés privées et publiques que la master key peut permettre de créer.

Pour aller bien plus loin sur le sujet, consulte la page dédiée au modèle HD du site Learn Me a Bitcoin .

Leurs schémas et animations apportent une grande clarté pour comprendre finement le fonctionnement de ce modèle.

L'introduction de nouveaux standards #

C'est l'introduction des standards BIP-32, BIP-39 et BIP-44 qui a permis aux wallets HD de voir le jour.

La signification de BIP est expliquée dans cette partie du glossaire.

Le BIP-32 a apporté la fondation technique.

C'est le standard qui a introduit la notion même de hierarchical-deterministic. En d'autres termes, la dérivation de clés privées étendues depuis une master key.

Le BIP-39 est le standard qui nous a donné la possibilité de sauvegarder notre wallet de manière simple et ludique. Tu vois où je veux en venir ?

Je te spoil : sans BIP-39, il n'y aurait pas de seed phrases !

C'est lui qui a introduit ce concept, qui de nos jours est plus que central, dans le domaine des wallets.

Enfin, le BIP-44 .

Celui-ci permet depuis une seule et unique seed de gérer plusieurs comptes et plusieurs cryptos. BIP-44 a rendu cela possible en introduisant le concept de chemin de dérivation standard.

Il qui permet à l'intégralité de l'arbre des clés d'être restauré qu'importe sa profondeur (le nombre de clés étendues créées).

Pour comprendre davantage ce dernier aspect, n'hésite pas à consulter cette partie du guide de Learn Me a Bitcoin.

Types de wallet vs. modèle de gestion de clé #

Avant de terminer cette leçon, revenons rapidement sur la distinction entre le "type" d'un wallet et son modèle de gestion de clé.

Un hierarchical-deterministic wallet est donc un wallet qui utilise le modèle de gestion de clés nommé HD.

Le terme "type" de wallet est plus communément utilisé pour décrire si un wallet donné appartient à la catégorie des wallets hot ou cold. C'est-à-dire s'il dispose ou non d'un accès à internet.

Avec ça en tête, la prochaine fois que tu liras qu'un wallet est hierarchical-deterministic, tu sauras que cela qualifie son modèle de gestion de clés et non son apparence physique ni sa capacité à accéder au net.

Conclusion #

Les wallets HD n'ont désormais plus aucun secret pour toi (ou presque).

Avant de passer à la leçon suivante, retiens que :

Cette leçon était un peu plus technique que d'habitude mais tu en es bien à sa fin. Aussi, tu connais désormais bien le refrain :

On se voit à la prochaine leçon !

FAQ

Est-ce que MetaMask est un wallet HD ?

Oui, MetaMask, Ledger et Trezor utilisent tous un modèle HD pour le fonctionnement de leurs wallets. Il est donc correct d'appeler tous ces wallets des wallets HD.

Est-ce que tous les wallets sont HD aujourd'hui ?

La majorité des wallets disponibles en téléchargement ou à l'achat le sont HD. Tu pourrais trouver des wallets non HD en cherchant des versions spécifiques de certains wallets (comme Electrum) ou en explorant des ordinateurs qui n'ont pas reçus de mises à jour depuis un long moment.

Que se passe-t-il si je perds ma seed phrase ?

Tu perds l'accès aux fonds auxquels ton wallet te permettait d'accéder. La seed phrase est l'unique moyen pour toi de déplacer les fonds de ton adresse (si tu n'as plus tes clés privées également).

Progression du cursus Leçon 16 / 16
Leçon précédente
Qu'est-ce qu'un cold wallet ?
Leçon suivante
Disponible prochainement ...

Partage
cet article
Soutiens le site avec
un Tip ou un crypto-don
Logo du BTC Logo de ETH Logo du Solana Logo du BNB