Author

Topic: Explication : Phrase de recovery (Notamment pour Ledger) (Read 866 times)

newbie
Activity: 17
Merit: 0

 
Quote
Par-contre si je rentre des phrases de recovery au hasard (sur les 2048 mots disponibles dans le dictionnaire BIP39 que Ledger utilise) il me rejette directement.

Donc ou il y a un algorithme qui lui permet de savoir si la phrase de recovery est valide ou alors le Ledger à dans sa mémoire toutes les phrases de recovery ?

Sachant que je ne l’ai pas connecté à internet je n’arrive pas à comprendre comment il peut reconnaitre que cette phrase de recovery est bonne ou non.

=> Oui il y a une sorte de checksum pour vérifier que l'utilisateur ne s'est pas planté dans la saisie,
le dernier mot dépend des 23 mots précédents.


les détails gore :

Quote
"First, an initial entropy of ENT bits is generated.
A checksum is generated by taking the first ENT / 32 bits of its SHA256 hash.
This checksum is appended to the end of the initial entropy.

Next, these concatenated bits are split into groups of 11 bits, each encoding a number from 0-2047, serving as an index into a wordlist.
Finally, we convert these numbers into words and use the joined words as a mnemonic sentence. "
https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
newbie
Activity: 17
Merit: 0

Quote
1)   Avons-nous toujours 12, 18 ou 24 mots maximum dans notre phrase de recovery, ou cela est spécifique à Ledger ?

Pour les wallet qui implémentent  le "standard"  bip39  12,15,18,21,24 mots
https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
je n'ai vu que 12 pour jax ( je suppose que pour des appli android une seed plus courte est un compromis de performances )
Quote

2)   Comment pouvons-nous être sûr que personne ne tombera par « hasard » sur notre phrase de recovery et nous voles l’intégralité de nos BTC ?

on n'est pas sur mais c'est 2048*2048*2048...*2048  (23.5 fois)  2 puissace 256 en fait.
en théorie,  il y a beaucoup plus  de risque qu'un astéroide désintegre la terre qu'un ordinateur standard trouve la seed en bruteforce ( mais il y a des poissards ... )  . 

Quote

3)   Les phrases de recovery se génèrent elles au moment même de la création de notre wallet, ou il y a une sorte de BDD contenant toutes les phrases de recovery qui sont attribuées au hasard ?

au moment de la création du wallet, il tire des mot au hasard ( il tire 256 bits au hazard en fait )

Quote
Par exemple j'ai ma clef privée de btc que j'ai sur jaxx, si jaxx ferme pour x raisons et que j'utilise cette clef privée ailleurs pour récupérer les btc... ensuite jaxx remarche.... où sont mes btc ?

les BTC sont dans la blockchain distribué plein d'ordinateurs sur internet.
la clé privée permet de valider une transaction dans la blockchain pour les dépenser.
si un portefeuille est perdu/cassé, on peut utiliser la meme clé privé sur un autre portefeuille.
avant chaque portefeuille avait son propre systeme de restauration avec des mot clé, maintenant c'est devenu standard / interopérable avec bip39


(une analogie un peu limite :
tes mails sont sur gmail, (= btc sur blockchain )
ton mot de passe permet d'y acceder, ( = cle privee )
si ton navigateur chrome ne marche pas tu peux utiliser un firefox et envoyer des mails pareil. ( = wallet )




 





member
Activity: 187
Merit: 10
Donc une même adresse de réception peut être utilisé avec différents mobile wallets ?
Le hd wallet (genre ledger nano s ?) qu'est ce qui ne va pas avec les cold storage ? (Je présume wallet paper ?)
Merci de prendre le temps de répondre en tout cas!
legendary
Activity: 1512
Merit: 1011
une clé privée est un standard entre l'adresse de réception et le réseau sur laquelle elle fonctionne.

la clé privée peut donc être utilisée par Bitcoin Core directement (ou un autre service qui sait faire ça : le scan de la blockchain locale).

1 clé privée contrôle 1 adresse de réception.
elle ne contrôle pas un wallet composé de X clés de réceptions ayant reçu X bitcoins.

raison pour laquelle je n'utilise les HD wallet que sur mon porte-feuille téléphone ... pas pour mes COLD STORAGE.
member
Activity: 187
Merit: 10
J'ai bien compris le système de recovery phrase... mais par contre les clefs privées

Par exemple j'ai ma clef privée de btc que j'ai sur jaxx, si jaxx ferme pour x raisons et que j'utilise cette clef privée ailleurs pour récupérer les btc... ensuite jaxx remarche.... où sont mes btc ? Peut on aussi donc simplement transférer des btc en donnant une clef privée et du coup quid des frais de transferts Huh?
newbie
Activity: 17
Merit: 0

bonjour,

j'aime bien l'idée de "brain wallet"
Si on se souvient des mots de la seed, out qu'on soit en galère dans le monde, il suffit de se faire préter un telephone portable par un ami pour avoir accès a ses cryptos.

les wallet  multi crytos ( jaxx, exodus ) me proposent que des seed de 12 mots, savez vous si c'est le même fonctionnement ?

Savez vous quel programme on peut faire tourner pour génerer un dictionaire HD a partir des mots que l'on veut (sur un ordinateur sur et déconnecté) ?

Est il possible de rentrer des mots hors dictionaire sur le ledger nano ? quid si notre dico original a une seed avec des mots hors du dico du nano ?
( Bip 91 dit que l'on peut utiliser des characteres non ASCII si ils sont encodés en UTF8  => je devrai pouvoir créer une seed en japonais )
sr. member
Activity: 812
Merit: 388
Je confirme que c'est assez compliqué pour comprendre ^^

Surtout que Meuh nous sort un dictionnaire qui contient 171 000 mots, sauf que pour le Nano S il se base sur un dictionnaire contenant 2 048 mots.

Donc avec "juste" 2 048 mots je me dis qu'une attaque par brute force est faisable sur du très long terme ?

Après rectification pour un Dico' de 2048 mots et une SEED de 24 mots on doit être sur 2.9642775e+79 combinaisons possibles.

Avec le dico' de 171 000 mots ça nous donnes 3.907569e+125 combinaisons possibles.

Fait gaffe si tu veux pas reprendre un disquette de la part de meuh6879  Grin
si tu lui parle de robot qui vont piraté le dico par brute force.

Moi le truc qui me parait poilu c'est qu'avec 24 mots tu arrives à récupérer tout tes wallets.
C'est un peu magique pour moi.
Ma ça marche.  Grin
hero member
Activity: 1344
Merit: 500
28K=Buy | Wallet=100% BTC
Je confirme que c'est assez compliqué pour comprendre ^^

Surtout que Meuh nous sort un dictionnaire qui contient 171 000 mots, sauf que pour le Nano S il se base sur un dictionnaire contenant 2 048 mots.

Donc avec "juste" 2 048 mots je me dis qu'une attaque par brute force est faisable sur du très long terme ?

Après rectification pour un Dico' de 2048 mots et une SEED de 24 mots on doit être sur 2.9642775e+79 combinaisons possibles.

Avec le dico' de 171 000 mots ça nous donnes 3.907569e+125 combinaisons possibles.
sr. member
Activity: 812
Merit: 388
Merci Meuh6879,

ça reste compliqué un peu dans ma tête. J'ai compris le principale et je vais faire des testes quand j'aurai la nano en ma possession.

je rajoute ceci : https://bitcoin.fr/quest-ce-quun-hd-wallet/


legendary
Activity: 1512
Merit: 1011
Une SEED permet un HD Wallet : une suite infinie de clé privées/réceptions basés sur ... la SEED.
Une clé privée ne permet qu'une seule clé de réception.

Une SEED ou une clé privée ne dépendent pas d'internet (si ce n'est pour un peu d’entropie avec l'horloge horaire temps réel).

l'entropie est souvent ce qui faisait défaut aux wallets "normaux" fondés sur un repère horaire et un peu de fonction random.

ce n'est plus le cas : https://en.bitcoin.it/wiki/Deterministic_wallet

Quand je disais "formules mathématiques", ça voulait dire que ça marche SANS internet ... jusqu'à ce qu'on émette une transaction réellement (et pour émettre, il faut se faire écouter et donc avec les bonnes clés privées).

Le premier qui me répond qu'on fait tourner un robot et qu'on écoute les réponses ... se mange de nouveau la vidéo que j'ai posté et les cours de mathématique sur les puissances (171 000 puissance 171 000 ... cloné sur le nombres de mots que contient une SEED).
sr. member
Activity: 812
Merit: 388
Meuh6879 je veux bien que les problème mathématique c'est complexe, mais c'est pas dessus que je bloque Wink

Avant le post ici j'avais compris que la clef ne contenait que la key privé et que tout les reste était dans une blockchaine.

Mais la Yaplatu dit qu'il a testé sans connexion internet alors je suis perdu.

C'est plus-tôt cette partie que j'aimerai éclaircir.
legendary
Activity: 1512
Merit: 1011
Y'a rien à comprendre, c'est des formules mathématiques imbriquées (et on simplifie le départ pour l'utilisateur en lui demandant de rentrer des mots ... en lui en fournissant si on sort un résultat).

Devine combien pèse un dictionnaire ?
rien du tout : 306ko

https://addons.mozilla.org/fr/firefox/language-tools/

Et ça fait 171 000 mots.

Je te l'ai dit avec la vidéo, l'humain a un problème pour dimensionner les possibilités mathématiques (et c'est tant mieux si on veut "croire" en un réseau de transactions uniquement gouverné par des "rêgles" mathématiques).
sr. member
Activity: 812
Merit: 388
Plus j'en lis sur cette Key et moins je comprends comment ça marche.

Pourtant j'en ai commander une  Grin

je vais suivre le topic afin de mieux comprendre.
hero member
Activity: 1344
Merit: 500
28K=Buy | Wallet=100% BTC
Merci pour ta réponse Meuh ^^

Disons que j’ai fait un test avec 2 Ledger Nano S :

- Avec le 1er j’ai donc créé mon wallet avec une phrase de recovery (sans l’avoir connecté à internet).  

- Puis avec le second Nano S (sans l'avoir connecté à internet) j'ai rentré ma phrase de recovery créée précédemment avec le 1er Nano S. Pour cette première partie aucun problème, il me connecte bien à mon wallet.

- Par-contre si je rentre des phrases de recovery au hasard (sur les 2048 mots disponibles dans le dictionnaire BIP39 que Ledger utilise) il me rejette directement.

Donc ou il y a un algorithme qui lui permet de savoir si la phrase de recovery est valide ou alors le Ledger à dans sa mémoire toutes les phrases de recovery ?

Sachant que je ne l’ai pas connecté à internet je n’arrive pas à comprendre comment il peut reconnaitre que cette phrase de recovery est bonne ou non.

De plus sur les 2048 mots présents dans BIP39 cela implique qu’il n'y a que ~ 4 200 000 combinaisons possibles non ?  
legendary
Activity: 1512
Merit: 1011
1) ça dépend du programme.
Une seed HD wallet de Bitcoin Core n'est pas compatible avec autre chose que ... Bitcoin Core.

Ce n'est pourtant pas le cas d'une clé privée ... qui fonctionne sur 8/10 des programmes en import (moyennant une attent plus au moins longue).



2) Tu apprends qu'un humain ... à du mal avec les chiffres : https://www.youtube.com/watch?v=ZloHVKk7DHk
Alors avec des lettres ...  Roll Eyes (et c'est pas de l'Héxa décimal, oh non).



3) les mots sont une structure mathématique complexe.
Les "wallets" peuvent utiliser une structure de SEED normalisée ... ou pas.
Personne ne te le dira.
hero member
Activity: 1344
Merit: 500
28K=Buy | Wallet=100% BTC
Bonjour,

J’ai quelques questions au sujet de la phrase de recovery (ou encore « graine ») :

1)   Avons-nous toujours 12, 18 ou 24 mots maximum dans notre phrase de recovery, ou cela est spécifique à Ledger ?

2)   Comment pouvons-nous être sûr que personne ne tombera par « hasard » sur notre phrase de recovery et nous voles l’intégralité de nos BTC ?

3)   Les phrases de recovery se génèrent elles au moment même de la création de notre wallet, ou il y a une sorte de BDD contenant toutes les phrases de recovery qui sont attribuées au hasard ?

Merci par avance pour vos réponses.
Jump to: