Comprendre la Blockchain et les cryptos — Partie 1 : Clé privée et clé publique 🔑

in #busy7 years ago (edited)

A quoi ça sert la Blockchain, le Bitcoin, Ethereum ? Et comment ça marche ?

C'est des questions que l'on me pose souvent ! J'ai donc décidé d'écrire une série d'article pour expliquer les concepts de base de ces technologies qui vont révolutionner notre monde !

Commençons par le concept de clé privée et clé publique avec un exemple simple : Alice aimerait envoyer 2 Ethers à Bob pour son anniversaire.
L’Ether (ETH) étant une cryptomonnaie comme le Bitcoin.

img

Bob a entendu parler d’une superbe machine magique* qui lui permet de recevoir des choses en toute sécurité :

*Cette machine est magique car elle est accessible par n’importe qui et de n’importe où sans restriction.

Cette machine marche avec des paires de clés, Bob va recevoir 2 clés :

  • Une clé rouge Bpr (Bob clé privée)
  • Une clé bleue Bpu (Bob clé publique).

 
La machine donne une paire de clés différente à chaque utilisateur. Alice recevra aussi 2 clés :

  • Une clé jauneApr (Alice clé privée)
  • Une clé violette Apu (Alice clé publique).

Bpr et Apr: Clés privées. Doivent être gardées en sécurité par leur propriétaire et n’être partagées avec personne.

Bpu et Apu: Clés publiques. Peuvent être partagée avec tout le monde en donnant une copie.

Bob garde en sécurité sa clé Bpr et donne une copie de sa clé Bpu à Alice. Inversement, Alice garde en sécurité sa clé Apr et donne une copie Apu à Bob.

 
 
 

A quoi servent ces clés ?

Quand on utilise la machine avec la clé bleue Bpu et qu’on lui donne un objet, cet objet va être mis dans un coffre-fort rouge qui ne pourra être ouvert que par la clé rouge Bpr et le coffre ne pourra être ouvert qu'une seule fois afin qu'on ne puisse pas remplacer ce qu'il contient.

img

Quand on utilise la clé bleue Bpu, on obtient un coffre rouge seulement ouvrable avec la clé rouge Bpr.

Les clés marchant par paire, si on utilise la machine avec la clé rouge Bpr, le coffre ne pourra être ouvert qu’avec la clé bleue Bpu.

De la même manière, avec la clé jaune Apr, le coffre ne pourra être ouvert qu’avec la clé violette Apu. Et avec la clé violette Apu, le coffre ne pourra être ouvert qu’avec la clé jaune Apr.

Alice peut donc créer un coffre avec la clé publique bleue Bpu de Bob et seulement Bob pourra l’ouvrir en se servant de sa clé privée rouge Bpr.
La clé publique sert à garantir le destinataire.

img

Avec la clé publique bleue Bpu de Bob, le coffre est seulement ouvrable par Bob avec sa clé privée rouge Bpr.

Cependant, Alice aimerait bien prouver à Bob que c’est bien elle qui a envoyé le coffre contenant les Ethers.
Bob pourrait recevoir pour son anniversaire plein de coffres qui ont été fait avec sa clé publique, mais comment savoir lequel provient d’Alice ?

Et la clé privée ?

Alice se dit qu'elle pourrait utiliser la machine avec sa clé privée Apr pour envoyer le coffre à Bob. Si Bob reçoit un coffre qui s'ouvre bien avec la clé publique d'Alice Apu, il sera certain qu'il provient d'Alice et que le contenu n'a pas été modifié car le coffre ne peut être ouvert qu'une seul fois.
La clé privée sert à garantir l'expéditeur.

img

Avec la clé privée Bpu d’Alice, tout le monde peut ouvrir le coffre grâce à la clé publique violette Apu d’Alice.

Par contre, quelqu'un pourrait intercepter le colis et récupérer les 2ETH ! Car le coffre peut s'ouvrir avec la clé publique d'Alice, et comme son nom l'indique, elle est publique, n'importe qui pourrait en avoir une copie et ouvrir le coffre…

Alice a une idée !

Elle pourrait utiliser sa clé privée Apr pour créer un coffre violet contenant les 2 ETH, puis remettre ce coffre violet dans la machine en utilisant la clé publique Bpu de Bob pour créer un coffre rouge contenant le coffre violet.

img

Alice utilise les clés Apr et Bpu pour faire un coffre seulement ouvrable avec les clés Bpr et Apu.

Bob sera le seul à pouvoir ouvrir le coffre rouge avec sa clé privée Bpr. Puis, à l’intérieur il trouvera l’autre coffre violet qu’il pourra ouvrir avec la clé publique Apu d’Alice.

C’est (presque !) ce qui se passe quand vous faites une transaction sur myetherwallet.com

Myetherwallet.com est un site internet qui permet d'envoyer des Ethers, c'est la machine magique dont Bob avait entendu parler !

img

Fonctionnement de la machine magique — myetherwallet.com

La clé privée Apr d'Alice permet de garantir qu'elle est bien l’expéditrice.

L’adresse de destination est la clé publique de Bob Bpu, elle permet à Alice d’indiquer le destinataire et garantir que seulement Bob pourra récupérer les 2 ETH.

Et voila c’est aussi simple que ça ! Alice a pu envoyer 2 ETH à Bob de manière sécurisée. Les 2 ETH sont maintenant dans un coffre que Bob pourra ouvrir avec sa clé privée Bpr et la clé publique d'Alice Apu.


Qu’arriverait-il des Ethers si le coffre s’égare en chemin ?

Ou si une personne mal intentionnée intercepte le coffre ? Alice va-t-elle perdre ses 2 ETH ?

Suivez-moi pour le découvrir dans le prochain article !


edit : la Partie 2 est sortie : Où sont stockés les Ethers


P.S. : des approximations ont été faites dans l’article (comme le raccourci adresse = clé publique) afin de rendre la compréhension plus facile. L’important étant d’expliquer les concepts, et moins la réalité technique. Dans les prochains articles, nous développerons les concepts pour se rapprocher le plus possible de la réalité.

Sort:  

Gros boulot franchement t'as du bosser grave pour pondre ça et rien que pour ça chapeau ;-) Même si je partage les avis de @evildido et @corsica je serais plus modéré car comme tu l'as si bien dit tu essayes de vulgariser le concept donc forcément il y a des raccourcis ou des images qui dénaturent ou omettent certains concepts importants... Mais bon l'idée de base est super continue comme ça c'est cool :p

Merci beaucoup ! Oui il n'y a pas tout le monde qui est capable de lire le whitepaper du Bitcoin et de le comprendre du 1er coup ;) C'est pour ça que je prends une approche plus simple.
Après je ne voudrais pas que ça induise en erreur, donc je vais voir comment faire évoluer tout ça !
Merci en tout cas pour les retours, c'est la première fois que j'écris des articles donc ça me permet de voir ce qu'il faut que j'améliore :)

Vraiment cool cet article, bien vu d'expliquer clé public / privée beaucoup de gens ne le comprennent pas et ensuite font n’importe quoi avec leur clé privée :/

Merci ! Oui la clé privée c'est la seule chose qui a de l'importance quand on a un compte sur une blockchain, je vais écrire un prochain article sur les portefeuilles, pour expliquer qu'il y a plein de différentes méthodes pour accéder à son portefeuille, mais qu'au final toute ces méthodes sont juste des moyens différents de stocker sa clé privée.

Vulgarisation à un niveau supérieur! Bravo! Je vais suivre vos articles avec intérêt!

Merci ! Le prochain article arrive bientôt ;)

Hello.
Ton article me perturbe un peu. Tu décris le fonctionnement permettant de certifier l’authenticité d’un message et sa non répudiation via système à clef publique.

Hors, pour les cryptomonnaies, ce n’est qu’un partie du problème (1/3 même).

D’autre part, sur une blockchain, on n’envoie pas des tokens à quelqu’un. On inscrit quelque chose dans le livre de compte distribué. Et la clef privée donne le droit de dire « j’ai x tokens (je le prouve) et je souhaite écrire dans la blockchain que je souhaite les transmettre à...). C’est certes un détail, mais il me semblait plus judicieux de parler de PGP pour introduire ce sujet.

Par contre, je trouve que la forme de ton article est excellente !

Merci pour ton commentaire !
Je suis d'accord avec toi que l'article est incomplet et inexact d'un point de vue technique (d'où mon P.S. à la fin ;) )
Je trouvais qu'utiliser des coffres forts et des clés est une bonne manière de faire une analogie avec les fonctions à sens unique et à brèche secrète.

Pour la remarque qu'on n’envoie pas des tokens à quelqu’un. 100% d'accord avec toi ça sera justement le sujet de mon prochain article : Où sont stockés les ethers ? qui répondra à la dernière question en expliquant qu'il n'y a pas de valeur perdue si un "coffre" est intercepté car il n'y a pas de valeur dedans, seulement de l'information.

Je veux vraiment introduire et expliquer un seul concept à la fois pour faciliter la lecture aux néophytes même si cela peut perturber les personnes plus expertes ;)

Je suis ravi de te lire. Un célèbre YouTube qui avait dans une vidéo « pédagogique » sous entendait que les mineurs vérifiaient que le destinataire existait. Ce qui est faux et mal avisé, car évidemment une erreur dans la destination est irrécupérable.

Merci !
Peut être voulait-il dire que le format de l'adresse était valide, qu'on ne puisse pas envoyer à une adresse avec 1 caractère de moins ou de plus par exemple.
Car dans l'absolu toute adresse valide est un destinataire, après savoir si quelqu'un a bien la clé privée associée à cette adresse, ça c'est moins sûr ;)

Non il évoquait bien qu’ils vérifiaient que « bob » existait.

Dans ce cas là en effet c'est faux !

Article vraiment sympa ! J'aime beaucoup la façon de présenter les choses avec les clés (dont beaucoup ont encore du mal à comprendre le fonctionnement).

Les petites animations sont vraiment top et cela donne un coté plus "vivant" à la chose. Bien vu ;-)

Merci beaucoup :)

Hello @pl4ym0re,
J'adore les animations et le degré de vugarisation même si je suis d'accord avec Jonathan @evildido.
A bientôt.
Christel

Merci !
J'ai choisi de faire des approximations et des raccourcis pour faciliter la compréhension des concepts. Au fur et à mesure des articles, j'introduirai de nouveaux concepts et corrigerai les approximations.
Mais je devrais peut être mieux le préciser dans mon article pour éviter les confusions.