Leçons 1/4 · 15 min
Un portefeuille contient des clés, pas des fonds
Le téléphone tombé dans l'eau
Dayo laisse tomber son téléphone dans un seau d'eau. L'application de portefeuille est perdue. A-t-il perdu son argent ? La réponse dépend d'une seule chose : a-t-il encore ses clés (ou la graine qui les engendre) ? Si oui, il installe une application sur un autre téléphone et son solde réapparaît. Si non, ses fonds sont toujours sur la chaîne, mais plus personne ne peut les dépenser. Cette différence est le cœur de l'atelier.
Qui est qui
- Fonds : une ligne de l'état de la chaîne (un solde, ou des sorties non dépensées). Ils vivent sur la chaîne, jamais dans une application ni sur un téléphone.
- Paire de clés : une clé privée (secrète) et la clé publique qui lui correspond (atelier 105). Signer une transaction avec la clé privée est le seul moyen de dépenser ce qui est verrouillé pour cette clé.
- Adresse : un identifiant public calculé à partir de la clé publique, par une convention propre à chaque chaîne. Bitcoin fait passer la clé publique par deux fonctions de hachage différentes (SHA-256 puis RIPEMD-160, à ne pas confondre avec le double SHA-256 qui sert aux blocs et aux transactions) puis ajoute un encodage ; Ethereum prend les 20 derniers octets d'un hachage Keccak-256 de la clé publique. Dans les exercices de cet atelier, nous utilisons une convention jouet : les 20 premiers octets du SHA-256 de la clé publique (octets, pas texte). Ce n'est pas celle d'une chaîne réelle.
- Portefeuille (wallet) : un logiciel ou un appareil qui garde des clés, construit les transactions, les fait signer et affiche des soldes qu'il va lire sur la chaîne. Il n'est pas la banque des fonds.
Les types de portefeuilles
| Type | Où est la clé privée | Ce que cela change |
|---|---|---|
| Sans dépositaire (non-custodial), logiciel (« chaud ») | Dans votre application | Pratique ; exposé si l'appareil est infecté |
| Sans dépositaire, matériel (« froid ») | Dans un appareil dédié qui signe sans révéler la clé | Réduit l'exposition ; l'appareil peut aussi se perdre |
| Avec dépositaire (custodial, plateforme d'échange) | Chez un tiers qui détient les clés | Le tiers peut perdre, geler ou refuser ; vous avez une créance sur lui, pas le contrôle |
Exemple : retrouver ses fonds
Dayo avait une adresse A. Les fonds liés à A restent sur la chaîne après la perte du téléphone. Avec une nouvelle application et sa graine, il retrouve la même clé privée, donc la même adresse A, donc la même capacité à signer. Sans la graine, il peut toujours voir le solde de A (les données de la chaîne sont publiques) mais il ne peut plus signer.
Ce que cela ne garantit PAS
- Perdre l'application ne fait pas perdre les fonds ; perdre les clés, si.
- Une adresse n'est pas une identité : elle ne dit pas qui la contrôle.
- Un portefeuille « sécurisé » n'empêche pas de signer une transaction que vous avez approuvée par erreur.
- La chaîne n'a ni service d'assistance ni « mot de passe oublié » : personne ne peut réinitialiser une clé.
À retenir
Fonds : sur la chaîne. Clé privée : le pouvoir de les dépenser. Adresse : un nom public dérivé de la clé publique. Portefeuille : l'outil qui garde les clés et signe.
Outil interactif
Signature ECDSA P-256
Générez une paire de clés dans votre navigateur, signez un message, puis vérifiez la signature.
La clé privée est créée avec extractable: false : le navigateur la garde en mémoire sans jamais permettre de l'exporter, et elle n'est ni affichée ni stockée. Elle ne vit que dans cet onglet : recharger la page la perd.
Clé publique (SPKI, base64)
Aucune clé pour l'instant. Générez une paire pour signer.Signature (base64, format P1363 : r ‖ s, 64 octets)
…ECDSA avec SHA-256 sur la courbe P-256. WebCrypto renvoie r et s concaténés (32 + 32 octets), pas l'encodage DER.
Vérifier une signature
Outil interactif
SHA-256 d'octets hexadécimaux
Collez des octets en hexadécimal : le hachage porte sur les octets, pas sur le texte des chiffres. Un second champ est concaténé après le premier.
Empreinte
…Espaces, retours à la ligne et préfixes 0x sont ignorés.
