La Blockchain Bitcoin expliquée – Le démarrage
Le Bitcoin est la première monnaie numérique au monde et la plus populaire. Il n’est décentralisé et contrôlé par personne. Comment ça marche et pourquoi pouvez-vous lui faire confiance? Après tout, si les ordinateurs peuvent copier n’importe quel fichier, pourquoi ne puis-je pas simplement faire des copies de mes bitcoins? Et s’il n’est contrôlé par aucune partie centrale, qu’est-ce qui m’empêche d’effectuer des transactions contrefaites pour des bitcoins que je ne possède pas? Cet article expliquera en termes simples comment fonctionne Bitcoin et fournira des informations sur la façon dont la technologie qui soutient Bitcoin peut être utilisée pour des cas d’utilisation commerciale au-delà d’une simple monnaie numérique.
Bitcoin fonctionne en résolvant trois défis de tenue de dossiers sans avoir besoin d’un dépositaire central comme une banque:
- Prouver la propriété des bitcoins.
- Empêcher la falsification des enregistrements des transactions passées.
- Fournir un grand livre des transactions digne de confiance.
Le premier défi pour Bitcoin est de prouver la propriété. Lorsque le propriétaire d’un bitcoin publie une transaction sur le réseau, comment savoir si elle provient en réalité du propriétaire de ce bitcoin et non d’un imposteur? La réponse à cela réside dans le cryptage informatique.
Cryptage par clé publique / privée
Bitcoin est basé sur une forme de cryptage appelée cryptage à clé publique / privée. Dans ce cryptage, vous générez deux clés. Les données chiffrées avec une clé peuvent être déchiffrées par l’autre et vice versa. L’une de ces clés que vous rendez publiques et l’autre que vous gardez un secret privé.
Cela ouvre la porte à l’envoi de messages secrets. Utilisons les caractères de gardiens de la Galaxie pour un exemple amusant. Supposons que Star-Lord, le héros, veuille envoyer un message secret « Bonjour Groot » à son ami en forme d’arbre Groot et s’assurer que l’archi-méchant du film Thanos ne puisse pas le lire. Groot a créé une paire de clés publiques / privées. Star-Lord prend la clé publique de Groot et l’utilise pour crypter le message. Le message en transit ressemble à du charabia, mais lorsque Groot le reçoit, sa clé privée est capable de le décrypter.
Signature numérique
L’utilisation de ces clés à l’envers peut également être utilisée pour vérifier l’authenticité de la personne qui a créé les données, et c’est ainsi que Bitcoin les utilise. Supposons maintenant que Groot veuille envoyer à Star-Lord le message «Je suis Groot». Il n’y a aucune raison de le crypter car nous savons tous que c’est la seule chose que Groot dit, mais Groot veut prouver à Star-Lord que le message vient bien de Groot, pas d’un imposteur tiers. Groot chiffrerait le message avec sa propre clé privée. Lorsque Star-Lord reçoit le message et le déchiffre avec la clé privée de Groot, il voit «Je suis Groot». Ce message n’est pas un secret, mais le fait que la clé publique de Groot l’a déchiffré est la preuve qu’il a été généré à l’aide de la clé privée de Groot. Il prouve ainsi l’authenticité du message
Signature de transactions Bitcoin
Les portefeuilles Bitcoin sont en fait des paires de clés publiques / privées. Lorsque quelqu’un vous donne son ID de portefeuille, cet ID est en fait sa clé publique. Lorsque vous envoyez des pièces à un autre portefeuille, le logiciel Bitcoin utilise votre clé privée pour authentifier que la transaction vient de vous, pas d’un imposteur.
Si Groot voulait envoyer un bitcoin dans son portefeuille à Star-Lord, il générerait un message déclarant qu’il transférait le bitcoin au portefeuille de Star-Lord et utiliserait sa clé privée pour signer le message. Tant que tout le monde convient que le bitcoin transféré appartenait bien au portefeuille de clés publiques de Groot, le fait que sa clé publique puisse déchiffrer cette transaction prouve que Groot a créé cette transaction. Si Thanos forgeait à la place un message affirmant que Groot lui avait envoyé le bitcoin, tout le monde saurait qu’il s’agissait d’un faux puisque la clé publique de Groot ne serait pas en mesure de déchiffrer les transactions écrites par Thanos.
Le Bitcoin n’est essentiellement qu’un registre d’entrées indiquant qui a transféré le nombre de bitcoins à qui, tous signés numériquement par leurs propriétaires. Cela ressemble à un grand livre financier sur papier avec des signatures manuscrites autorisant chaque entrée. Lorsque vous envoyez des bitcoins à quelqu’un, votre transaction signée est ajoutée à ce registre.
Le prochain défi est de savoir comment empêcher la falsification du grand livre. Par exemple, si j’envoie des bitcoins à un ami, puis un mois plus tard je le regrette, qu’est-ce qui m’empêche de revenir en arrière et de supprimer la transaction du grand livre ou de modifier le montant que j’ai envoyé? Ceci est traité en utilisant quelque chose appelé hachage.
Hachage
Un hachage est un algorithme pour valider l’intégrité des données. Tout message peut générer une valeur de hachage, mais de petits changements dans le message entraînent des changements radicaux dans la valeur de hachage. Par exemple, voici deux messages et leurs valeurs de hachage:
My name is David Mooter FE100DDA6D28B2280B34FC228ADAB42E
My name is Davis Mooter 1761420899A8F0B731A2EE56A6F71567
Supposons que vous regardiez les archives d’un message que j’ai écrit My name is David Mooter
. Si vous savez à l’avance que ce message que j’ai écrit dans le passé avait une valeur de hachage de FE100DDA6D28B2280B34FC228ADAB42E
, vous pouvez ensuite valider que le message n’a pas été falsifié en confirmant qu’il génère bien ce hachage. Si quelqu’un a trafiqué cet enregistrement en le modifiant My name is Davis Moote
, vous obtiendrez alors la valeur de hachage 1761420899A8F0B731A2EE56A6F71567
et sachez que quelqu’un l’avait trafiqué.
La «blockchain»
Bitcoin utilise des hachages pour valider que son registre n’a pas été falsifié. Périodiquement, un ensemble de transactions est publié ensemble sous la forme d’un nouvel enregistrement, appelé bloc. Chaque bloc stocke le hachage du bloc de transactions qui l’a précédé. Par exemple, prenez les transactions indiquées dans ce grand livre de trois blocs, chacun d’entre eux ayant enregistré trois transactions étiquetées tx 1 à tx 9.
Si je revenais pour supprimer la transaction 3 du premier bloc, tout le monde saurait que c’est invalide car le hachage du bloc 2 prouverait que le bloc 1 a été falsifié.
Très bien, alors je modifierai également le bloc 2 pour avoir un hachage qui valide mon faux bloc 1. Cela ne fonctionne pas non plus, car la valeur de hachage dans le bloc 2 que je viens de modifier était une entrée pour générer le hachage de validation du bloc 3, donc le hachage du bloc 3 révèle maintenant que le bloc 2 a été falsifié.
En somme, la modification d’une seule pièce du grand livre est impossible: altérer une transaction nécessiterait de modifier la valeur de hachage de chaque bloc de transactions qui l’a suivi, ce qui signifie générer un tout nouveau grand livre. C’est pourquoi elle est appelée blockchain: c’est comme si tous les blocs étaient étroitement liés et ne pouvaient pas être dissociés les uns des autres.
Même si un grand livre particulier de la blockchain est inviolable, qu’est-ce qui m’empêche de créer d’autres grands livres concurrents? Comment savons-nous quel livre est le plus fiable?
Par exemple, supposons que notre blockchain a deux blocs. Ensuite, je publie trois nouvelles transactions ajoutées au grand livre, mais en même temps, je publie également trois transactions alternatives également ajoutées au grand livre. Nous avons maintenant deux blockchains concurrentes.
Preuve de travail
Ceci est résolu grâce à un concept appelé preuve de travail. Les ordinateurs convertissent les valeurs de hachage que j’ai décrites dans la section précédente en une séquence de zéros et de uns comme ceci:
0010111011110100000001000001101010010010001011101111100001001010
Supposons que nous imposions une contrainte qu’un bloc ne puisse pas être ajouté au registre à moins que le hachage validant le bloc précédent ne commence par un zéro, nous aurions alors une 1/2 chance d’obtenir un hachage qui fonctionne.
0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
De même, si nous imposions une contrainte qu’il doit commencer par deux zéros, il y aurait alors 1/4 chance. (Nous accepterions 00
mais rejeter 01
, 10
, et 11
.)
00XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Cela croît de façon exponentielle. Par exemple, si la contrainte est qu’elle doit commencer par 32 zéros, il y aurait alors environ 1 chance sur 4 milliards.
00000000000000000000000000000000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Le Bitcoin impose une telle contrainte. Pourtant, le hachage du bloc précédent sera toujours constant. Comment obtenez-vous un hachage qui respecte cette contrainte avec une entrée fixe? En ajoutant une valeur arbitraire aléatoire à chaque bloc. C’est ce qu’on appelle une valeur «nonce».
Ce nonce est combiné avec le bloc précédent lors du calcul du hachage. Avant d’ajouter un bloc au grand livre, les ordinateurs du monde entier parcourent des valeurs aléatoires à la recherche d’une valeur nonce qui, lorsqu’elle est combinée avec le bloc précédent, génère un hachage qui commence par un certain nombre de zéros. Trouver cette valeur nonce est la «preuve de travail». (Par ailleurs, lorsqu’un ordinateur trouve un hachage qui peut être publié, il inclut un portefeuille, et ce portefeuille reçoit des bitcoins gratuits. C’est ainsi que de nouveaux bitcoins sont générés.)
C’est tellement intense sur le plan des calculs que nous pouvons prédire en moyenne combien de temps cela prendra. Dans le cas de Bitcoin, c’est un bloc toutes les 10 minutes en moyenne. Les ordinateurs deviennent plus puissants au fil du temps, donc Bitcoin augmente la difficulté de suivre le rythme des vitesses informatiques en exigeant plus de zéros chaque fois qu’un certain nombre de blocs est publié.
Le plus long livre est le plus ancien
Étant donné que la preuve de travail ne permet pas de publier de nouveaux blocs plus rapidement qu’un certain taux, nous savons que tout grand livre plus long qu’un autre est également plus ancien. Il serait impossible pour moi de produire un grand livre de blockchain qui soit plus long que le livre officiel à moins d’avoir plus de puissance de calcul à ma disposition que le reste de tous les utilisateurs de Bitcoin réunis.
En résumé, lorsqu’il existe des livres concurrents sur Internet, tous les utilisateurs de Bitcoin reconnaissent celui avec le plus de blocs comme le livre le plus ancien et donc le plus authentique.
Vous avez donc une explication de Bitcoin en trois étapes faciles:
- Les signatures numériques valident la propriété des bitcoins.
- Les hachages valident l’intégrité des transactions répertoriées dans le grand livre.
- La preuve de travail empêche la création de registres frauduleux.
J’espère que vous pouvez voir que Bitcoin est simplement un grand livre décentralisé auquel tous les utilisateurs peuvent faire confiance. Ce registre ne doit pas simplement stocker de la monnaie. D’autres chaînes de blocs peuvent et ont été développées pour permettre à plusieurs parties de partager des informations sans intermédiaire intermédiaire. Quelques exemples:
- Prévention de la contrefaçon. Un produit peut avoir un code à barres estampillé par le fabricant, qui l’enregistre également sur une blockchain. Chaque fois que le bien physique change de mains, le propriétaire enregistre également ce transfert sur la blockchain. Tant que vous pouvez retracer votre produit à un enregistrement de création d’un fabricant de confiance connu, vous pouvez être sûr que vous avez obtenu le vrai produit, pas une contrefaçon. Ceci est particulièrement utile pour les produits pharmaceutiques contrefaits, qui est un marché noir en croissance qui met des vies en danger.
- Logistique. Semblable à la prévention de la contrefaçon, les entreprises avec des chaînes d’approvisionnement complexes de nombreux fournisseurs concurrents peuvent créer une chaîne de blocs organisée pour suivre les fournitures. Par commissaire, je veux dire une entreprise centrale comme Ford ou Walmart contrôle qui est autorisée sur la blockchain, la limitant aux entreprises impliquées dans leur chaîne d’approvisionnement. Cela peut être particulièrement utile pour les chaînes d’approvisionnement qui ont plusieurs couches de fournisseurs de petites pièces alimentant des fournisseurs de pièces de taille moyenne alimentant des fournisseurs de pièces de grande taille alimentant le fabricant final. Une perturbation chez le fournisseur de petites pièces pourrait perturber le fabricant final, mais avec une visibilité instantanée sur l’ensemble de la chaîne d’approvisionnement, le fabricant et les fournisseurs peuvent détecter la perturbation le plus tôt possible et y réagir plus tôt.
- Coopération mutuelle. Une réclamation d’assurance automobile implique souvent deux ou plusieurs compagnies d’assurance qui doivent coopérer et partager des données. RiskStream est une blockchain conçue pour permettre aux compagnies d’assurance de partager entre elles des informations fiables afin que, en cas de réclamation, les assureurs n’aient pas besoin de procéder à des échanges de données manuels. Cela pourrait à la fois améliorer l’expérience client en résolvant les réclamations plus tôt et réduire les coûts de traitement des réclamations en automatisant ce processus manuel d’échange de données.
Il y a eu beaucoup de battage médiatique sur les blockchains au cours des dernières années. Une grande partie de ce battage médiatique a été exagérée. Un défi avec la blockchain est le fait que votre entreprise ne peut pas la contrôler. De nombreuses entreprises recherchent des moyens de se transformer rapidement et de créer de nouvelles innovations que leurs concurrents ne peuvent égaler. Un protocole de blockchain, en revanche, ne peut être modifié que si tous les participants acceptent le changement. Cela l’étouffe comme un outil de transformation numérique.
Un autre défi est de savoir qui supporte les coûts d’investissement. Pourquoi mon entreprise devrait-elle développer une blockchain qui permet à tous les membres de mon industrie de mieux coopérer? Je supporterais tous les coûts tandis que les bénéfices seraient diffusés parmi tous mes concurrents. Cette limitation rend les chaînes de blocs organisées plus prometteuses, car la société qui en assume le coût peut la contrôler pour s’assurer qu’elles tirent le maximum d’avantages de cet investissement.
Enfin, les lois sur la protection des données et le droit à l’oubli posent un défi aux chaînes de blocs. Les données qu’ils contiennent sont immuables. Comment supprimer des données d’une blockchain si la réglementation légale l’exige? Il existe des solutions à cela, mais cela dépasse le cadre de cet article.
Pourtant, malgré ces défis, la blockchain peut apporter une valeur commerciale. Ce que tous ces cas d’utilisation, de Bitcoin à RiskStream, ont en commun, c’est qu’ils créent un échange d’informations de confiance entre des parties qui ne se connaissent peut-être pas et peuvent même se concurrencer. La clé pour exploiter avec succès la blockchain pour votre entreprise est de trouver des cas d’utilisation qui correspondent à ce modèle. Ensuite, concevez une solution de blockchain qui garantit que votre organisation récolte la valeur dont vous avez besoin, que les parties dont vous avez besoin pour y participer sont disposées et que vous avez des plans appropriés en place pour rendre les données de la blockchain conformes aux lois actuelles ou futures sur la confidentialité des données.