Bitcoin Forum

Local => Débutants => Topic started by: Beauzebut on January 14, 2021, 11:36:11 AM



Title: curiosité au sujet des hardware wallet
Post by: Beauzebut on January 14, 2021, 11:36:11 AM
Bonjour,
J’ai une question de pure curiosité technique au sujet des hardware wallet, par exemple le Ledger :
Quand on initialise le Ledger, il nous donne une seed.
Quand on utilise ensuite l’appareil, on crée des adresses associées à des clés publiques et privées. Ces clés privées sont censées être conservées par et dans le ledger et nulle part ailleurs.
Si on perd l’appareil ou qu’on le détruit accidentellement, on peut en acheter un autre et en lui donnant la seed donnée par le premier Ledger, il paraît qu’on récupère le wallet, comme si rien ne s’était passé.
Pourtant les informations (les clés privées) étaient sur l’appareil perdu et la seed n’a pas changé, c’est toujours la même. Comment le nouveau Ledger peut retrouver les clés privées d’après une seed que ne savait rien des clés privées qui seraient créées sur l’ancien Ledger ?

C’est vraiment un mystère pour moi. Si quelqu’un peut m’éclairer…
Merci


Title: Re: curiosité au sujet des hardware wallet
Post by: yogg on January 14, 2021, 11:43:23 AM
Bonjour,
J’ai une question de pure curiosité technique au sujet des hardware wallet, par exemple le Ledger :
Quand on initialise le Ledger, il nous donne une seed.
Quand on utilise ensuite l’appareil, on crée des adresses associées à des clés publiques et privées. Ces clés privées sont censées être conservées par et dans le ledger et nulle part ailleurs.
Si on perd l’appareil ou qu’on le détruit accidentellement, on peut en acheter un autre et en lui donnant la seed donnée par le premier Ledger, il paraît qu’on récupère le wallet, comme si rien ne s’était passé.
Pourtant les informations (les clés privées) étaient sur l’appareil perdu et la seed n’a pas changé, c’est toujours la même. Comment le nouveau Ledger peut retrouver les clés privées d’après une seed que ne savait rien des clés privées qui seraient créées sur l’ancien Ledger ?

C’est vraiment un mystère pour moi. Si quelqu’un peut m’éclairer…
Merci

Hello o/

En fait, la seed ("les 12 mots") correspondent à un index dans un dictionnaire qui est standard.
Tu peux les consulter ici : https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md

Ce qui importe, ce sont les mots, et leur ordre.

En finalité, cette séquence de mots, dans un certain ordre, peut se convertir en une "Master private key" et une "Master public key".
La particularité de ces clés, c'est que tu peux y appliquer un principe de dérivation.

En prenant la même info de départ (la master public key) et en y appliquant une opération cryptographique, tu peux generer plein d'adresses public Bitcoin différentes.
Le même principe s'applique avec les clé privées. Elles sont toutes dérivées à partir de la même donnée, qui découle de la seed.

Voici un diagramme qui résume ce fonctionnement :

https://i.imgur.com/yEJcmpD.png

Comme ça, tu peux même utiliser ta seed de Ledger avec une autre appli, et retrouver les adresses BTC que ton Ledger t'indiquait. :)


Title: Re: curiosité au sujet des hardware wallet
Post by: Beauzebut on January 14, 2021, 12:04:39 PM
Ah ! Merci. Vraiment fascinant !
Je suppose, pour que ça fonctionne, que la création de child keys et grandchid keys à partir de la Master Key est totalement déterminée (pas aléatoire). C’est-à-dire que la même Master Key (expérience de pensée qui imagine deux même clés) pondra les mêmes descendant dans le même ordre. Ce qui permet donc de recréer ces clés à partie de la seed. C’est ça ?


Title: Re: curiosité au sujet des hardware wallet
Post by: yogg on January 14, 2021, 12:10:32 PM
Ah ! Merci. Vraiment fascinant !
Je suppose, pour que ça fonctionne, que la création de child keys et grandchid keys à partir de la Master Key est totalement déterminée (pas aléatoire). C’est-à-dire que la même Master Key (expérience de pensée qui imagine deux même clés) pondra les mêmes descendant dans le même ordre. Ce qui permet donc de recréer ces clés à partie de la seed. C’est ça ?


Oui, tout à fait. :)
C'est une opération déterministe. (un peu comme l'algo de hash SHA-256 au coeur de BTC)
La même seed (donc, la même liste de mots dans le même ordre) permettra toujours de générer la même Master public key et Master private key.

Si tu dois automatiser la reception de BTC pour une appli quelconque, tu peux te débrouiller en te basant sur la Master public key, et ton appli donnera une adresse publique BTC différente à chaque personne.
En même temps, tu récupéreras tout les fonds dans le portefeuille dans lequel cette seed est chargée.
(Bon .. il y'a subtilitées pratiques, par exemple si tu dérives 10 000 adresses BTC avec ta master public key, il faut que le wallet que tu utilises sache aller vérifier à la 9990è adresse si des fonds sont arrivés .. En général, quand tu cliques sur "créer une adresse de paiement" ou "recevoir", ton wallet va commencer à observer l'adresse publique qu'il t'a fournie.)

T'a l'air d'avoir bien saisi le fonctionnement. :D


Title: Re: curiosité au sujet des hardware wallet
Post by: Beauzebut on January 14, 2021, 12:38:18 PM
Génial !
Merci beaucoup :-)


Title: Re: curiosité au sujet des hardware wallet
Post by: Becassine on January 18, 2021, 07:12:57 PM
Bonjour,
J’ai une question de pure curiosité technique au sujet des hardware wallet, par exemple le Ledger :
Quand on initialise le Ledger, il nous donne une seed.
Quand on utilise ensuite l’appareil, on crée des adresses associées à des clés publiques et privées. Ces clés privées sont censées être conservées par et dans le ledger et nulle part ailleurs.
Si on perd l’appareil ou qu’on le détruit accidentellement, on peut en acheter un autre et en lui donnant la seed donnée par le premier Ledger, il paraît qu’on récupère le wallet, comme si rien ne s’était passé.
Pourtant les informations (les clés privées) étaient sur l’appareil perdu et la seed n’a pas changé, c’est toujours la même. Comment le nouveau Ledger peut retrouver les clés privées d’après une seed que ne savait rien des clés privées qui seraient créées sur l’ancien Ledger ?

C’est vraiment un mystère pour moi. Si quelqu’un peut m’éclairer…
Merci

Toujours des questions pertinentes, ça mérite bien un smerit  ;)


Title: Re: curiosité au sujet des hardware wallet
Post by: Beauzebut on January 18, 2021, 07:22:24 PM
Toujours des questions pertinentes, ça mérite bien un smerit  ;)

smerit ?


Title: Re: curiosité au sujet des hardware wallet
Post by: Becassine on January 18, 2021, 07:50:02 PM
Toujours des questions pertinentes, ça mérite bien un smerit  ;)

smerit ?

smerit = sendable merit. C'est vrai j'aurais dû écrire merit tout court.