Introduction
Un wallet (porte-monnaie) est l’outil qui permet à n’importe qui d’émettre une transaction sur une blockchain.
C’est l’outil central pour interagir avec la blockchain et il répond à la problématique suivante :
Lorsque j’émets une transaction, comment puis-je prouver que je suis bien le détenteur des cryptomonnaies qui sont associés à l’adresse depuis laquelle je veux les envoyer ?
Aussi, comment faire pour éviter que quelqu’un d’autre puisse faire une transaction qui sortirait des cryptomonnaies de mon adresse ?
On aimerait, exactement comme un compte en banque, que seul le propriétaire du compte puisse sortir de l’argent depuis son compte.
Ce que c’est un wallet
Un wallet peut prendre plusieurs formes, des interfaces différentes pour l’utilisateur.
Il peut être 100% logiciel, souvent une extension de navigateur.
Il peut aussi être sous forme physique, souvent une sorte de clé usb avec un petit écran et des boutons.
Avant de nous intéresser à la manière dont est générée une transaction par un wallet il faut comprendre les informations qui sont nécessaires à la création d’une transaction.
Clé privée, clé publique et adresse
Avant toute chose, il est nécessaire de se créer un compte, on appelle ça couramment une adresse, sur son wallet.
Donc, lorsque je veux me créer une adresse pour faire des transactions sur une blockchain, voici ce qu’il se passe.
1. Génération de la clé privée
Mon wallet génère une clé privée, c’est une longue suite de caractères aléatoires. Ici rien de spécial.
On entend souvent qu’il ne faut jamais divulguer sa clé privée ! On va comprendre plus tard par la suite.
2. Dérivation de la clé publique
On aborde ici un sujet important pour la sécurité. La clé publique est dérivée de la clé privée.
C’est un type de dérivation qui fonctionne de sorte qu’il est facile de trouver la clé publique lorsqu’on connaît la clé privée. Par contre il est quasi impossible de faire le chemin inverse, c’est ce qui fait la force du système.
Pour dériver la clé publique de la clé privée, c’est généralement une fonction de hashage qui est utilisée.
Par « quasi impossible » il est entendu qu’il faudrait un temps presque infini de calcul pour retrouver la clé privée depuis la clé publique.
C’est une fonction à sens unique :
- Clé privée → Clé publique : calcul rapide.
- Clé publique → Clé privée : computationnellement infaisable (il faudrait des milliers d’années de calcul pour réussir à trouver)

3. Dérivation de l’adresse
Finalement, l’adresse est dérivée de la clé publique.
En synthèse, il y a existe trois éléments indispensables au bon fonctionnement d’un wallet. La clé privée qui doit rester absolument secrète, ainsi que la clé publique et l’adresse qui sont visibles de tout le monde.
Émission d’une transaction
De la création à la diffusion de la transaction il y plusieurs processus qui prennent place.
Création de la transaction
Je vais créer ma transaction avec les données importantes :
- Adresse de débit (donne l’argent, c’est elle qui émet la transaction)
- Montant
- Adresse de crédit (reçoit l’argent)
Nous avons ici toutes les informations utiles à la transaction en elle-même. Le wallet met la transaction en forme pour qu’elle corresponde bien aux standards de la blockchain sur laquelle on veut faire la transaction.
Signature de la transaction
Voilà le deuxième concept phare. Pour le comprendre analysons ce qu’il se passe quand j’émets une transaction.
Après sa création, la transaction est signée grâce à la clé privée. Seule la clé privée associée à l’adresse de débit permet de générer une signature valide pour la transaction.
Le résultat de cette signature permet à n’importe qui de vérifier entre autres :
- Qu’elle provient bien de la personne qui détient la clé privée
- Que la transaction n’a pas été modifiée

Diffusion de la transaction
La transaction signée est finalement diffusée sur le réseau. C’est à ce moment qu’il est intéressant de pouvoir vérifier, grâce à la clé publique liée à une transaction, qu’elle a bien été signée par le détenteur de la clé privée.
Typiquement, comme on l’a vu dans le chapitre sur le fonctionnement d’une blockchain, les mineurs vérifient que notre transaction n’est pas falsifiée grâce à notre clé publique puis ajoutent la transaction à un bloc.
Utilité des clés
La clé privée a donc deux fonctions :
- Générer la clé publique
- Signer les transactions
La clé publique en a une :
- Vérifier que la signature est valide, si c’est le cas, c’est que c’est bien le détenteur de la clé privée qui a signé la transaction.
Un wallet permet avant tout de :
- Stocker
- La clé privée
- La clé publique
- L’adresse
- Signer des transactions grâce aux informations stockées
Petites remarques
Avant de m’intéresser au sujet, je pensais qu’un wallet stockait les cryptomonnaies mais on comprend bien que ce n’est pas le cas. Le wallet ne stocke que la clé privée. Il permet de générer une transaction, de la signer puis la diffuser sur le réseau.
Clé privée
On comprend maintenant l’importance de la clé privée. Qui connait la clé privée peut faire des transactions valide pour l’adresse qui y est associée.
Si je venais à découvrir la clé privée de big boss The Rock, je pourrais par exemple transférer tout leur avoir sur mon adresse et souvenez-vous, il n’y a pas de service client sur la blockchain, donc on ne peut pas annuler une transaction valide ! Avec tout cet argent j’irais ensuite volontiers faire un tour chez Audemars Piguet.

Types de wallet
Maintenant qu’on a compris l’utilité d’un wallet il me semble important de savoir qu’il en existe différentes sortes.
Hot wallet
Est connecté à Internet
Exemples : Metamask, Rabbit, Phantom
Avantages : Pratique et rapide
Inconvénients : Vulnérables aux hacks
Cold wallet
Hors ligne
Exemples : Ledger, Trezor
Avantages : Sécurité maximale
Inconvénients : Moins pratiques
Custodial wallet
Un tiers de confiance gère les clés
Exemples : Binance, Swissborg, Kraken…
Avantages : Simplicité, Récupération de l’accès aux fonds possible
Inconvénients : Risque dû à la dépendance à l’exchange
Non-custodial wallet
Tu gères les clés
Exemples : Metamask, Ledger
Avantages : Souveraineté totale
Inconvénients : La perte de la clé privée est définitive
Prenons trois petits exemples pour comprendre comment les clés sont gérées.
Une clé Ledger est un cold wallet, non-custodial. Lorsque je veux générer une transaction il faut que je connecte le Ledger à mon ordinateur. La transaction est générée directement sur le hardware du Ledger, c’est très pratique car si même si j’ai un virus sur mon ordinateur, celui-ci ne peut avoir aucune influence sur mon Ledger. C’est le moyen le plus sécurisé de détenir ses cryptomonnaies, à condition de ne pas perdre les identifiants
Un wallet Phantom est disponible comme application sur mobile et comme extension de navigateur. Dans tout les cas, c’est un hot-wallet (car directement connecté à internet) mais aussi non-custodial car c’est à l’utilisateur de gérer ses clés.
Pour finir, un compte sur Swissborg est un custodial wallet. En fait, on se connecte à son compte de façon plus traditionnelle avec un email et un mot de passe. Par contre on ne contrôle pas directement nos clés, dans ce cas elles sont stockées sur les serveurs de Swissborg.
Seed phrase
Dernier concept. Vous endenterez parler de seed phrase lorsque vous chercherez des infos sur les wallets. Ce n’est rien d’autre qu’une phrase de généralement 24 mots qui peut être traduite dans le format officiel de la clé privée. Elle est très utile car le format d’une clé privée est compliqué à lire.
Exemple d’une clé privée : 5KzXfBw7uK8GkQ4xZ1mGzN2iXbM9rM8K9nFvM4Q5gY7kZ8pW9aD2tM3v
Exemple d’une seed phrase :
“Hotel, avocado, fragile, agent, jealous, bottle, all, gaget, lesson, before, after, nobody, …”
Il est très facile de passer de l’un à l’autre, tous les wallets ont un code qui permet de le faire. Lors de la création d’une adresse avec un wallet, le wallet ne va donc pas vous montrer la clé privée mais la seed phrase. Cela évite les erreurs lorsque l’on veut recopier le texte en l’écrivant par exemple.
La seed phrase est une représentation de la clé privée dans un format plus facilement lisible pour l’utilisateur.
Disclaimer
L’article du jour essaye d’expliquer le principe de fonctionnement d’un wallet et n’est surtout pas un tutoriel sur le fait d’en utiliser un. Il est primordial de regarder des tutoriels sur la bonne gestion d’un wallet avant d’y ajouter des fonds !
Conclusion
On aura donc compris ce que sont les clés privées, publiques et que l’adresse est générée depuis cette dernière.
Il faut absolument retenir que la clé privée est la clé de voûte du système. Celui qui la connaît peut signer n’importe quelle transaction pour l’adresse concernée sur la blockchain. Il est donc primordial d’en être le seul détenteur et de ne la divulguer à personne !
Le type de wallet qu’on utilise dépend des sacrifices qu’on est prêt à faire, encore une fois, il est très utile de s’informer à travers des tutoriels si on souhaite gérer son wallet.
