Comment fonctionne Bitcoin?

Il y a environ un an, alors que le train Bitcoin commençait tout juste à prendre de l'ampleur, un ami s'est tourné vers moi et m'a demandé: «Alors, pourquoi ne pas copier un bitcoin?

Il y a environ un an, alors que le train Bitcoin commençait tout juste à prendre de l'ampleur, un ami s'est tourné vers moi et m'a demandé: «Alors, pourquoi ne pas copier un bitcoin?
Publicité

Il y a environ un an, alors que le train Bitcoin commençait tout juste à prendre de l'ampleur, un ami s'est tourné vers moi et m'a demandé: «Alors, pourquoi ne pas copier un Bitcoin?

C'est une confusion que beaucoup de gens ont, et une juste: la notion d'entité numérique qui ne peut pas être facilement copiée est totalement non intuitive. En fait, le réseau Bitcoin est l'une des technologies les plus cool et les moins comprises dans la conscience populaire en ce moment. C'est dommage, car la mécanique sous-jacente de Bitcoin est vraiment simple. Vous n'avez même pas besoin de maths particulièrement difficiles, si vous êtes prêt à prendre quelques choses sur la foi.

Nous avons couvert, dans le passé, ce qu'est Bitcoin Comment expliquer Bitcoin à n'importe qui Comment expliquer Bitcoin à n'importe qui Le concept de crypto-monnaie n'est pas facile à comprendre. Comment peut-on utiliser son ordinateur pour «extraire» des pièces de monnaie? D'où vient l'argent? Qui le contrôle? Lire la suite, comment l'utiliser en toute sécurité Comment dépenser et stocker Bitcoins en toute sécurité, facilement et gratuitement Comment dépenser et stocker Bitcoins en toute sécurité, facilement et gratuitement En savoir plus, et même écrit un manuel sur le sujet, mais nous avons jamais vraiment compris comment cela fonctionne . Aujourd'hui, nous allons nous plonger dans ce «comment», et parler des outils nécessaires pour maintenir l'argent magique sur Internet dans les coulisses.

Bitcoin pour le poker

Alors pourquoi ne pouvez- vous pas copier un Bitcoin? La réponse, pour faire court, est qu'un Bitcoin n'est pas vraiment une chaîne de données à copier: c'est une entrée dans un registre distribué qui vous dit combien d'argent chaque personne a. La raison pour laquelle vous ne pouvez pas modifier le ledger est due à la structure intelligente du réseau Bitcoin - il existe de nombreuses copies du ledger, et le ledger lui-même est conçu de telle sorte qu'il est difficile à manipuler.

Pour mieux comprendre le problème, imaginez que vous alliez essayer de mettre en place un stylo-papier Bitcoin ( WritCoin ) pour une partie de poker avec vos amis. Vous êtes tous trop bon marché pour acheter des jetons, mais vous voulez quand même savoir combien d'argent de jeu tout le monde a, et laisser les gens le déplacer entre eux.

dogsplayingbitcoinpoker

Une solution consiste à choisir une personne digne de confiance pour être responsable de l'enregistrement du jeu: ils notent chaque transaction en temps réel, vous indiquent si la transaction a réussi (c'est-à-dire ne portent aucun solde négatif) et peuvent additionner toutes les transactions réussies pour déterminer combien d'argent tout le monde a à un moment donné. Ceci est similaire au fonctionnement de PayPal et des autres systèmes de paiement centralisés. Comme vous pouvez le voir, l'idée de copier une unité de monnaie n'a pas vraiment de sens dans ce système - le conservateur du dossier ne le permettrait pas. Notez que le détenteur du record est dans une position de pouvoir dans ce scénario, et peut choisir de se donner beaucoup d'argent, voler une petite fraction de tout l'argent dépensé, ou abuser de sa position.

Maintenant, imaginez qu'au lieu de jouer au poker avec vos amis, vous êtes pris au piège dans un jeu de poker mob high-stakes, où personne à la table ne fait confiance à quelqu'un d'autre (mais vous êtes encore trop bon marché pour acheter des jetons).

C'est une métaphore de l'internet.

Maintenant vous avez un problème: parce qu'il n'y a pas de confiance, l'autorité centralisée ne fonctionnera plus. Donc, vous avez l'idée géniale de laisser tous ceux qui sont à la table devenir des archivistes indépendants s'ils le veulent. Chacun d'eux prendra note de toutes les transactions. De cette façon, quand vient le temps de savoir combien d'argent a quelqu'un, si un groupe minoritaire décide de mentir sur ses dossiers, la majorité les attrapera. Pour que les choses restent équitables, vous acceptez tous de verser une petite récompense aux archivistes en échange de leurs services. Cela dévalorise un peu votre argent, mais encourage les gens à devenir des gardiens de dossiers et à prévenir la fraude - et, contrairement à un seul archiviste, la dévaluation de l'argent peut être contrôlée à un niveau gérable. C'est, en un mot, l'essentiel du réseau Bitcoin. Un réseau d'ordinateurs indépendants exécutant un logiciel spécial (Bitcoin Miners 5 façons dont vous pouvez faire et exploiter la monnaie Bitcoin 5 façons que vous pouvez faire et exploiter la monnaie Bitcoin La méthode révolutionnaire et controversée de paiement a fait les manchettes pour de nombreuses raisons. pour commencer à effectuer des transactions en utilisant Bitcoins.Tout d'abord, vous devez en gagner pour vous-même.Lire la suite) indépendamment de chaque transaction qui a déjà eu lieu dans le réseau. En retour, ils ont une chance d'être récompensés chaque fois qu'ils confirment un groupe de transactions. Pour dépenser de l'argent, il suffit de parler au réseau et de l'informer du désir de le faire. Ils notent la transaction dans leurs journaux (si vous avez assez d'argent pour réussir), et passez à autre chose.

Bitcoin et cryptographie

Bien sûr, ce n'est pas si simple en pratique. Imaginez les problèmes d'essayer de déplacer WritCoin sur Internet. Maintenant, tout à coup, vous avez besoin d'un moyen de prouver que c'est vraiment vous qui faites une transaction (dans la réalité, vous pouvez voir qui fait des demandes de transaction - pas sur Internet). En outre, sur Internet, avec un grand réseau, il est difficile de consulter chaque mineur Bitcoin existant pour savoir combien d'argent tout le monde a. Ce serait bien si vous pouviez parler à quelques-uns d'entre eux et être toujours en mesure de dire lequel d'entre eux étaient honnêtes. Il existe deux outils cryptographiques qui rendent ces choses possibles en ligne: les signatures numériques et la preuve de travail .

Transactions signées

Une signature cryptographique est une application intelligente du cryptage asymétrique, qui fonctionne comme ceci: à partir d'une seule information secrète, vous pouvez effectuer un ensemble d'opérations mathématiques qui produisent deux informations subsidiaires (appelées clé publique et clé privée) telles que que tout ce qui est chiffré (brouillé en charabia) par la clé privée ne peut être décrypté (décodé) que par la clé publique . En outre, lorsque ces clés sont produites correctement, il n'y a aucun moyen de savoir ce qu'est la clé privée, même si vous connaissez la clé publique. Expliquer comment cela fonctionne réellement, mathématiquement, nécessite une algèbre abstraite et est bien au-delà de la portée de cet article. Si vous souhaitez en savoir plus, consultez l'article Wikipedia sur la cryptographie à courbe elliptique, le cryptosystème utilisé par Bitcoin.

Imaginez, pour un moment, que vous avez une clé privée et une clé publique que vous utilisez régulièrement. Vous pouvez publier la clé publique (qui ressemble à une chaîne aléatoire de charabia) et la connecter avec votre identité. Ensuite, chaque fois que vous publiez quelque chose en ligne, vous pouvez prendre votre message, le chiffrer avec votre clé privée secrète et publier côte à côte la version cryptée et le message original. Ensuite, si quelqu'un voulait voir si vous l'aviez réellement écrit, il pourrait simplement utiliser votre clé publique pour décrypter la version cryptée et la comparer au message. Si elles ne correspondaient pas, le lecteur saurait que votre message a été falsifié. En d'autres termes, si une partie malveillante voulait remplacer son message par le sien, elle n'aurait aucun moyen de générer une version cryptée correspondante du texte, car elle ne connaît pas votre clé privée. La version cryptée du message (ou, plus généralement, un hachage crypté du message, dont nous parlerons dans un instant), attachée au message lui-même, est appelée une signature numérique .

asyymetricencryption

Les signatures numériques sont la façon dont les transactions sont vérifiées dans Bitcoin. Vous avez peut-être entendu parler d'un «portefeuille Bitcoin». Un portefeuille Bitcoin est simplement une paire de clés publique / privée particulière. Si vous voulez un portefeuille Bitcoin, il vous suffit de choisir une information secrète (vous pouvez utiliser une phrase secrète, ou faire en sorte que votre ordinateur constitue une chaîne de non-sens), puis de l'utiliser pour générer votre clé publique et privée. Votre paire de clés publique / privée est votre porte-monnaie - si les gens veulent vous envoyer de l'argent, vous leur donnez votre clé publique, et ils disent au réseau qu'ils aimeraient envoyer de l'argent au porte-monnaie correspondant à cette clé publique. Si vous voulez envoyer de l'argent à partir de votre porte-monnaie, dites-le simplement au réseau et signez-le avec votre clé privée correspondante. Ainsi, à moins que quelqu'un ne reçoive votre clé privée ou votre secret d'origine, il n'y a aucun moyen pour eux de simuler des transactions de votre part.

Preuve de travail

En cryptographie, il existe aussi un outil appelé une fonction de hachage. Une fonction de hachage prend simplement une grande quantité d'informations comme une entrée, et la ramène à une courte chaîne de non-sens (la longueur de la sortie est toujours la même, et dépend de la fonction que vous utilisez). Les fonctions de hachage sont sensibles, en ce sens que toute modification mineure apportée aux données d'origine modifie complètement et de façon irrécusable la chaîne de non-sens (le «hachage»). En conséquence, les fonctions de hachage ont la propriété unique d'être à sens unique - étant donné un élément d'information, vous pouvez facilement le hacher, mais compte tenu d'un hachage particulier, il n'y a aucun moyen de travailler en arrière pour savoir quelle information était haché pour le créer, sauf en devinant au hasard. Pour en savoir plus, consultez l'article Wikipedia sur les fonctions de hachage.

hash_function

Les fonctions de hachage sont très utiles! L'application la plus pertinente pour Bitcoin est appelée «proof-of-work», qui est un moyen de prouver à quelqu'un d'autre qu'une certaine quantité de travail de calcul a été dépensée. Si quelqu'un choisit un mot au hasard (disons «doppelganger»), et que vous répondez avec une information dont le hash est «doppelganger» (ou une chaîne suffisamment similaire), alors ils savent que vous avez dépensé beaucoup de temps à deviner avant de finalement trouvé une information qui a fonctionné. Ainsi, ils ont la preuve que vous avez exécuté une certaine quantité de travail de calcul. Cela peut être utilisé pour empêcher le spam par courrier électronique, en forçant quiconque essayant de vous envoyer un e-mail à remplir une petite preuve de travail en fonction de son adresse e-mail, votre adresse e-mail et l'heure. Cette preuve de travail peut être très facile, de sorte que ce n'est pas du tout un inconvénient pour les gens ordinaires qui envoient quelques courriels par jour, mais qui devient pratiquement impossible pour les expéditeurs en vrac.

Dans Bitcoin, la preuve de travail est utilisée pour empêcher les gens de mentir. Cela fonctionne comme ceci: quand un mineur veut ajouter un bloc de transactions à son registre, il prend toute la chaîne de blocs (une liste de toutes les transactions qui se sont produites à ce jour que le mineur pouvait vérifier étaient valides), et ajoute le dernier groupe de transactions à elle. Ils hachent ensuite tous ensemble, et commencent à faire la preuve de travail pour cette valeur - deviner les valeurs à hachage pour essayer de trouver une nouvelle valeur qui est suffisamment proche de la valeur cible. Pendant qu'ils font cela, les mineurs du monde entier font exactement la même chose, rivalisant pour être les premiers à trouver une preuve de travail qui soit "assez bonne" (une norme qui augmente automatiquement pour suivre la loi de Moore et la croissance du réseau). Le premier à y parvenir reçoit une aubaine (actuellement 25 Bitcoins ou environ 15 600 $ au moment de la rédaction) en échange de leur service, et leur bloc réussi est distribué à tous les autres mineurs, et devient un ajout permanent à la chaîne de blocs.

La conséquence en est que, si vous voulez générer une fausse Blockchain, vous devez reproduire toutes les preuves de travail effectuées par le réseau, ce qui est coûteux. Plus vous voulez éditer quelque chose, plus vous aurez de preuves de travail basées sur ces informations. Il est très peu probable que quiconque puisse produire des preuves de travail meilleures et plus rapides que l'ensemble du réseau minier légitime de Bitcoin, ce qui signifie que la chaîne de blocs qui a le plus de preuve de travail est légitime. Une autre façon de le dire est que le fait de se trouver dans le réseau Bitcoin est difficile, car il faut beaucoup de puissance de calcul pour générer un mensonge correctement structuré. Cela signifie que, si vous voulez une blockchain précise, vous n'avez pas besoin de parler à tous les mineurs de Bitcoin et de les laisser voter - vous pouvez simplement parler à quelques mineurs aléatoires, obtenir leur blockchains, et, s'il y a un conflit, accepter le version avec les preuves de travail les plus solides, et il y a une très bonne chance que ce soit la vraie.

Bitcoin en un mot

En résumé: les portefeuilles Bitcoin sont des paires de clés publiques / privées. Toute clé publique peut envoyer de l'argent à n'importe quelle autre clé publique, en faisant une déclaration au réseau, signée avec la clé privée correspondante. Cette déclaration est diffusée de pair à pair, parmi tous les mineurs, qui tentent tous de produire des preuves de travail pour toutes les transactions qu'ils ont enregistrées à ce jour. Chaque fois que l'un d'entre eux génère une preuve de travail suffisamment bonne, ils reçoivent des Bitcoins et leur bloc devient une partie du registre officiel distribué. En additionnant les transactions dans tous les blocs, vous pouvez déterminer combien d'argent vous avez - ou n'importe qui d'autre. L'enregistrement est difficile à manipuler, en raison de la difficulté à produire une preuve de travail plus rapidement que le reste du réseau.

C'est (à peu près) ça. Une fois que vous comprenez les primitives cryptographiques en jeu, l'idée en fait assez simple. Cela ne veut cependant pas dire que ce n'est pas remarquable. Construire un protocole qui oblige des milliers de personnes à travers le monde à traiter honnêtement les uns avec les autres, en dépit de leurs meilleurs efforts, est une énorme victoire pour la cryptographie, et l'une des idées les plus puissantes de ces dernières années.

Crédits image: Waterloo Dogs jouant au poker, cryptographie asymétrique, fonction Hash, avec l'aimable autorisation de Wikimedia, Reservoir Dogs, de EW.com

In this article