Vous le savez maintenant : il n'y a pas de pièces "physiques" de Bitcoins. Alors, comment s'échange-t-on des Bitcoins d'un compte à un autre ?
Rappel : Blockchain et livre de comptes
En son coeur, Bitcoin stocke les transactions dans un grand livre de comptes qu'on appelle la Blockchain. Toutes les transactions depuis le premier jour sont visibles par tout le monde.
Si vous vous appelez Bob, tout le monde sait donc que vous avez maintenant 220 BTC (250 BTC donnés par Alice, et 30 BTC que vous avez donnés à Carole). Pas besoin de pièces de monnaie, c'est écrit dans la Blockchain.
Attends attends... La Blockchain est publique non ? Elle est partagée entre tous les ordinateurs du réseau. Donc, si je m'appelle Bob, qu'est-ce qui m'empêche d'y écrire "Alice me donne 500 BTC" ? 🤔
Ah ah, petit malin ! Tu y as pensé toi aussi ! 😁
Satoshi Nakamoto, le créateur du Bitcoin, y a bien entendu pensé le premier. Pour empêcher ça, il a stipulé que toutes les transactions devaient être signées dans la Blockchain.
Donc si vous essayez d'écrire "Alice donne 500 BTC à Bob", les autres ordinateurs ne vous croiront pas tant qu'ils n'auront pas vu la signature d'Alice.
Evidemment, vous vous en doutez, les signatures ne se font pas sur un bout de papier ici. Je vous présente donc... la signature électronique grâce à la cryptographie asymétrique ! 🤓
La signature électronique avec la cryptographie asymétrique
La cryptographie asymétrique n'a rien de nouveau : c'est ce qui permet de sécuriser les échanges sur Internet. Par exemple, c'est ce qui permet d'éviter que quelqu'un intercepte votre numéro de carte bancaire quand vous payez sur un site. Tous les sites qui commencent par HTTPS utilisent ce procédé.
La cryptographie asymétrique peut servir à deux choses :
Chiffrer des informations : permet de cacher ces informations aux yeux d'autres personnes. C'est ce qu'on fait sur les sites HTTPS.
Signer des messages : permet de s'assurer qui est à l'origine du message.
Ah ! On y vient, vous voyez. On peut utiliser ce truc pour signer, donc authentifier l'expéditeur d'un message.
Alors comment ça marche ? Chaque personne génère un couple de clés à l'aide d'un algorithme mathématique :
Une clé privée, qui ne doit être communiquée à personne
Une clé publique, qui peut et doit être communiquée à tout le monde
Par exemple, si Alice veut pouvoir signer ses échanges, elle va avoir besoin de se créer sa propre paire de clés :
Les clés vont ensemble, elles sont liées l'une à l'autre.
Si Alice veut signer un message (ex :"Je donne 500 BTC à Bob"), elle le passe dans une moulinette mathématique qui chiffre ce message à l'aide de sa clé privée.
Pour le déchiffrer, et donc obtenir la preuve qu'elle est bien bien l'auteur du message, les autres personnes du réseau vont utiliser sa clé publique. Si on arrive à déchiffrer son message à l'aide de sa clé publique, alors on sait que c'était bien elle.
Voilà pour ce petit aparté sur la cryptographie asymétrique. Si vous connaissiez déjà le principe, un petit rappel ne fait jamais de mal. Si vous ne connaissiez pas... je me doute que ça fait beaucoup d'informations à la fois. Faites-moi confiance pour le moment, retenez les grandes lignes, vous aurez tout le temps de vous renseigner plus en détail sur cet univers passionnant après si vous voulez.
Votre adresse dans le monde des Bitcoins
Revenons à nos moutons.
Vous avez compris que seule Alice peut dépenser son argent parce qu'elle est la seule à posséder sa clé privée. C'est ce qui lui permet de signer ses messages.
Dans la pratique, il n'y a pas les noms des personnes sur la Blockchain. On se transfère l'argent d'une adresse à une autre.
L'adresse est tout simplement une version condensée de la clé publique. Quand Alice génère une paire de clés, elle génère donc automatiquement une adresse à partir de sa clé publique. C'est ce qu'elle communique au monde entier pour dire "Si vous voulez me payer, c'est à cette adresse !".
Vous verrez qu'il existe des logiciels de portefeuilles de Bitcoins... mais ils ne stockent pas d'argent (puisque l'argent en circulation est écrit dans la Blockchain). Ce que les portefeuilles stockent, ce sont des paires de clés comme celle-ci. En résumé, quand vous vous baladez avec vos clés, vous vous baladez avec votre argent.
Vous n'aurez pas une adresse mais plusieurs
Allez, une dernière info et on va arrêter là sinon j'ai peur de vous saturer l'esprit. 😁
En réalité, vous n'aurez pas une adresse mais plusieurs. En effet, il est dangereux de n'utiliser qu'une seule adresse. Pourquoi ? Parce que, vu que la Blockchain est publique, tout le monde pourrait savoir combien d'argent vous avez. Je suis sûr que vous ne seriez pas très à l'aise si l'univers entier savait tout de vos finances !
Pour avoir plusieurs adresses, il va falloir générer plusieurs paires de clés. Les logiciels portefeuilles de Bitcoins savent faire ça très bien pour nous. Ils utilisent même un procédé très malin pour générer une infinité de paires de clés : ils partent d'une série de mots aléatoires. Cette série de mots est appelée graine (seed). Elle est unique et facile à mémoriser. Par exemple :
locomotive soupe aider molécule fragile puce deltaplane...
Cette liste de mots nous permet de générer autant de paires de clés qu'on veut, donc autant d'adresses pour se faire payer. Et comme cela inclut les clés privées, cela veut aussi dire que la liste de mots nous donne la possibilité de payer avec notre argent.
Voilà, vous en savez un peu plus sur le monde du Bitcoin et de la Blockchain. Passionnant non ? Et encore, on ne fait que couvrir les choses en surface. Comme je vous le disais, je trouve ça à la fois extraordinairement complexe et intelligent.
Dans la prochaine partie, on va rentrer dans le concret : on va acheter nos premiers Bitcoins, les stocker dans un portefeuille (avec une graine, des clés, des adresses et tout !) et bien sûr... on va les dépenser. 😉
Avant ça, on va faire un peu d'exploration : on va parcourir la Blockchain en temps réel pour voir ce qui est écrit dedans ! Direction le chapitre suivant !