Il y a peu de sujets avec le tag dérivation et ça me semble le bon moment pour refaire un tour du sujet.
- 2017-11 Proposition d'un modèle de portefeuilles "HD"
- 2022-05 Un standard pour les clefs dérivées de Duniter v2s?
- 2022-05 RFC pour les dérivations des HD Wallets dans Duniter V2S
- 2022-09 Quest-ce que la dérivation?
De manière générale, la dérivation est juste une fonction qui prend un nombre A et calcule un autre nombre B. Dans le contexte de clés cryptographiques, A est un secret et B est un autre secret que l’on peut retrouver à partir de A si on connaît la fonction de dérivation et le chemin de dérivation. On peut dériver une paire de clés (A.pub, A.priv) du secret A et une autre paire de clés (B.pub, B.priv) du secret B sans qu’un lien puisse être établi par une personne qui ne connaît que les clés publiques (A.pub, B.pub).
BIP-32 introduit l’idée de “Hierarchical Deterministic wallet” (HD wallet), où la “hiérarchie” correspond aux différents chemins de dérivation possibles. Il introduit aussi une notation textuelle pour ce chemin de dérivation en distinguant plusieurs types de dérivation (hard et soft), mais je ne rentre pas dans les détails ici.
Il y a actuellement une proposition de norme à implémenter dans les clients Ğ1 qui permet de faire des choses automatiquement (comme la découverte des comptes d’un coffre) mais sans consensus pour la gestion du compte membre. Actuellement, seul Ğecko implémente cette norme.