Expliquer la Blockchain avec des cartes Pokemon

in #bitcoin6 years ago (edited)

‘Bitcoin et la technologie Blockchain simplement’


ATTRAPEZ-LES TOUS ! POKEMON ./

Imaginons que nous soyons des enfants, assis dans la cours de l’école. Ah... Le bon vieux temps...
Nous avons chacun nos cartes Pokemon à négocier et nous avons décidé de s’échanger deux cartes de la même valeur. Il n’y a rien de particulier relatif à ce procédé, nous sommes d’accord sur le fait que cette transaction est juste : Je te donne ma carte et tu me donnes la tienne. Facile.

A 10 ans, nous nous estimons responsables et n’avons pas besoin de demander au professeur de superviser cet échange et de certifier que les cartes sont correctement négociées. Il est désormais évident que chacun possède sa carte, je peux le voir et toi aussi. Nous nous accordons sur le fait que la transaction s’est terminée comme elle se devait.
Très efficace. Tout le monde a ce qu’il voulait et aucune larme n’a coulé. Mais imaginons maintenant la situation suivante : nous nous échangeons la version digitale des cartes Pokemon.

Disons que j’ai la carte à plus haute valeur dans le jeu, il n’y a qu’un seul exemplaire en circulation, et que je veuille te la transférer.

Comment peux-tu être sûr que je n’ai pas fait de copie sur mon ordinateur avant de te l’envoyer ? Que se passe-t-il si je fais 1 000 copies et je les vends toutes comme s’il n’y en avait qu’une seule ?

Il n’y a aucun moyen pour toi d’être sûr que je n’ai pas fait ça. Ce serait une conséquence négative pour toi, tout comme pour l’ensemble de la communauté Pokemon, qu’une carte rare censée être unique perde de la valeur à cause d’une surabondance.
Finalement, ce problème est connu sous le nom de la « double dépense » : problème informatique non-résolu avant la création du protocole Bitcoin (soit dit en passant...).

En effet, quand vous échangez deux actifs numériques, comment assurez-vous que personne n’a envoyé le même actif numérique simultanément ? Comment puis-je te convaincre que je n’ai pas dupliquer cette fameuse carte Pokemon que je veux t’envoyer ?

Nous pouvons utiliser un ‘ledger’ – un historique de transactions – pour enregistrer notre deal. Nintendo pourrait avoir le contrôle de ce ledger et voir l’ensemble des échanges de cartes Pokemon pour garantir le fait que personne ne duplique aucune carte. Le problème de cette configuration est qu’une tierce-partie est venue mettre le nez dans nos affaires, et ça c'est embêtant... Désormais ce n’est plus juste toi et moi dans la cours d’école car nous avons eu besoin de placer notre confiance dans une tierce-partie. Mais à l'arrivée le problème est le même, comment peux-tu être certain qu’un employé de Nintendo n’a pas dupliqué la carte secrètement pour la donner à son petit frère ?

CONCLUSION : Nous ne pouvons donc pas être 100% sûrs que personne ne modifie l’historique en son avantage.

Mais...il y a une question intéressante à soulever : Que se passe-t-il dans le cas où, au-lieu de sauvegarder cet historique via un Server Nintendo, nous donnons une version de l’historique à chaque joueur Pokemon souhaitant échanger ces cartes ?

Il y a des milliers et des milliers de fans de Pokemon tout autour du monde, donc si tout le monde gère une copie de ce fameux ledger, tout le monde pourrait être averti que je t’ai envoyé ma carte rare. Ainsi les ledgers pourraient prouver qu’une seule carte comme celle que je t’ai envoyé existe. Donc si je duplique ma carte en secret et que je souhaite la garder sur mon compte, ma copie de ledger ne serait pas compatible avec celui de quelqu’un d’autre et serait rejetée.

OK... OK... Tu as capté l'idée ?

Peut-être as-tu eu besoin de relire plusieurs fois le paragraphe précédent ? Nombreux sont ceux ayant quitter l'article avant d'arriver ici. Si tu as tenu bon jusqu'ici, félicitations, c'est là que tu vas faire la différence.



Une question : comment l’entièreté du réseau peut vraiment vérifier que notre échange de cartes Pokemon est correct ?

Les choses vont se compliquer à partir de... MAINTENANT. Prenons un exemple :
Admettons qu’il y est 1 000 ordinateurs participants à ce réseau d’échange de cartes Pokemon, appelons-les ‘nœuds’.
Tous ces nœuds ont une copie du registre distribué (le ledger), et chaque nœud fait tourner le logiciel qui leur permettent de communiquer tous ensemble. Leur objectif est de valider indépendamment chaque échange de cartes Pokemon.
Ces nœuds doivent se mettre d’accord sur ce qu’ils veulent faire ressortir sur le ledger et donc, sur le réseau. Si je fais affaire avec toi, la transaction est placée dans un bloc temporaire non-confirmé en attendant la validation. Un échantillon de nœuds va se battre pour valider toutes ces transactions non-confirmées pendant une période donnée (disons, 10 minutes, c'est le cas pour Bitcoin).
Ces nœuds sont aussi appelés les mineurs. Ils ont pour mission principale de valider ces groupes de transactions (blocs) parce qu’ils peuvent gagner un gros tas de cartes Pokemon pour les récompenser de leurs efforts. Cette historique de tous les échanges de cartes Pokemon est stocké sous la forme d’une chaîne de blocs (blockchain technology) constituant ainsi, un registre distribué et partagé.

Ensuite, les mineurs se battent pour être le premier à valider un nouveau bloc. Ils dépensent un montant élevé de puissance de calcul pour tenter de résoudre un puzzle cryptographique. La force du réseau est de demander un travail très dur pour décourager et empêcher les participants de tricher. Vous n’allez pas vous attaquez au ledger si le coût est trop important :

SI le GAIN procuré par l'attaque du réseau - Les ressources requises pour attaquer le réseau < 0 alors vous feriez mieux d'utiliser vos ressources pour participer à la sécurité de ce réseau et se voir rétribuer.



Une fois qu’un mineur a trouvé la solution de ce puzzle, il valide un bloc, c'est-à-dire qu'il signe ce bloc électroniquement pour prouver que ce bloc a été vérifié et annonce cette nouvelle au réseau de nœuds. Ce mineur distribue le bloc vérifié à tout le réseau afin de mettre à jour leurs versions du ledger avec les nouvelles transactions et collecter le coût des cartes Pokemon.

Cependant, aucun nœud n’a besoin de faire confiance à un autre, donc à chaque fois qu’un nouveau bloc se profile, tous les nœuds vérifient chaque transaction afin de vérifier que cet historique ne comporte pas de double-dépense. C’est ainsi que le réseau atteint le consensus.

Mais imaginons maintenant la situation suivante : je t’ai envoyé une de mes cartes Pokemon afin d’avoir un bien réel, quelque chose de palpable, disons un déjeuner, cela tombe à pic, j’ai très faim. Que se passe-t-il si je fais l’échange avec toi, prends ton déjeuner et essaye pendant ma digestion (les fameuses 10 minutes) de renvoyer la carte que je viens de t’envoyer à quelqu’un d’autre ?
Disons que l’échange A était celui te concernant et que l’échange B est le second : problème de double-dépense.

Le réseau ne sait pas quel est le bon échange donc comment va-t-il trancher ? Les deux vont aller dans un bloc de transactions non-confirmées et généralement dans l’ordre chronologique.
Parce que la blockchain vérifie chronologiquement, - plus une transaction est loin dans la chaîne, plus elle est sûre – si l’échange B est validé en premier, c’est la vraie transaction aux yeux des différents détenteurs de ledgers et l’échange A représente la double-dépense.

Donc l’idée c'est d’attendre 10 minutes avant d’accepter de me payer à déjeuner. Si une fois la vérification faîte, la transaction apparaît sur le réseau comme étant acceptée, tu me prends ma carte Pokemon et moi je savoure un délicieux repas. Tout est magnifique dans le meilleur des mondes.

Peut-être que ce n’est pas le cas ? Que se passerait-il si j'étais très gourmand et que je ne voulais pas jouer selon ces règles ? Qu'est-ce qui m'empêche de revenir plus tard dans le ledger et de retirer ce premier envoi pour que je puisse échanger la carte de nouveau et obtenir d'autres repas ?
Cette transaction est stockée dans un bloc d'informations, et les blocs sont liés linéairement dans le temps, de sorte qu'il est probablement enterré derrière un tas de blocs maintenant. Si neuf nouveaux blocs avaient été ajoutés depuis mon premier échange, je pourrais trouver le 10ème bloc, où ma transaction est enregistrée, et le supprimer, non ?

Mais souvenez-vous qu’une signature digitale est attribuée à chaque bloc. Elle est générée via les informations de ce bloc donc en changeant les informations (supprimer ma transaction par exemple) va automatiquement modifier la signature.
Et, pour rendre les choses encore plus hostiles pour moi, chaque signature de chaque bloc est déterminée par la signature la précédant. Donc en modifiant une signature, toutes les précédentes se retrouvent également modifiées. Donc j’ai à régler le problème de la signature du 10ème bloc de la chaîne mais également des 9 précédents.

Pour rendre les choses encore plus compliquées, je fais cela uniquement sur ma copie de ledger. Toutes les autres copies sont gentiment en train de se mettre d’accord sur ce qu’il s’est produit. Je dois le faire sur plus de 50% du réseau pour ainsi détenir la majorité et former un consensus.

De plus, générer des signatures électroniques et faire de nouveaux calculs requiert une incroyable puissance, difficile à atteindre.

Et oui, juste comme ça, nous avons créé un réseau ouvert, décentralisé, irréversible et infalsifiable pour échanger nos actifs numériques.
C’est une version assez simpliste de comment bitcoin et la blockchain fonctionne, mais il est très facile de voir que la technologie utilisée par Bitcoin la rend unique et fascinante.

Félicitations, vous connaissez désormais mieux la Blockchain que 95% des gens via le monde des Pokemon.

Mon dernier article : Russie: Le crypto-rouble
SUIVRE Sirob sur STEEM : https://steemit.com/@sirob

Traduction et adaptation de l'article : Blockchain explained via Pokemon cards

Sort:  

J'ai craqué avant la fin : je n'ai pas lu jusqu'au bout...
Mais c'est quand même un bel article. :)
(C'est juste que j'ai déjà ce matin, bouquinné, lu, étudié, passé du temps à apprendre des fiches. Sinon l'article est vraiment cool. :) )

;)

Belle journée !

Salut @gribouille ! Pas de souci, à moi de faire mieux pour réussir à t'accrocher jusqu'à la fin la prochaine fois :)

Joyeuses fêtes de fin d'année :)

Merci du soutien,

A bientôt ! ;)

Félicitations ! Votre post a été sélectionné de part sa qualité et upvoté par le trail de curation de @aidefr !

La catégorie du jour était : #technologie


Si vous voulez aider le projet, vous pouvez rejoindre le trail de curation ici!

Bonne continuation !

Nouveau : Rendez-vous sur le nouveau site web de FrancoPartages ! https://francopartages.xyz

Merci pour la sélection !

En espérant en faire partie pour le prochain article :)

Congratulations @sirob! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 100 upvotes. Your next target is to reach 250 upvotes.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

Christmas Challenge - Send a gift to to your friends

Support SteemitBoard's project! Vote for its witness and get one more award!

Alright ! Good news !

Let's reach 250 upvotes and even more :D

C'est tout le mal que je te souhaite, ton article et très sympathique avec une dose minimal de magistral :)

Un mal que je te souhaite également!

Merci @Voltagrou ! Pourvu que la dose de magistral augmente au fur et à mesure de mes publications :)

Je suis preneur des tes conseils, remarques, avis, critiques, etc.

Let's reach 250 upvotes and even more :D

J'arrive tardivement, mais c'est un article d'exception ! Bravo pour la vulgarisation c'est très bien joué :)
Maintenant au travail, les blocs, attrapez les tous !

Mieux vaut tard que jamais :)

Merci @baloox !

Attrapons-les tous!