Dans la tête d’un développeur de blockchain : Le consensus de la blockchain, 1ère partie
Cointelegraph suit le développement d’une toute nouvelle blockchain, de sa création au réseau principal et au-delà, dans le cadre de sa série Inside the Blockchain Developer’s Mind. Dans les parties précédentes, Andrew Levine de Koinos Group a discuté certains des défis l’équipe a été confrontée depuis l’identification des problèmes clés qu’elle entend résoudre et a décrit trois des « crises » qui freinent l’adoption de la blockchain : évolutivité, évolutivitéet gouvernance. Cette série est axée sur l’algorithme de consensus : la première partie porte sur la preuve de travail, la deuxième partie sur la preuve d’enjeu et la troisième partie sur la preuve de combustion.
Dans cet article, je souhaite mettre à profit mon point de vue unique pour aider le lecteur à mieux comprendre un concept populaire de la technologie blockchain, mais aussi un concept terriblement mal compris : l’algorithme de consensus.
Afin d’acquérir une compréhension approfondie de ce composant d’une blockchain, l’une des choses que j’aime toujours faire dans ces articles est de commencer par prendre du recul et de regarder la situation dans son ensemble, car l’algorithme de consensus n’est qu’une petite partie d’un système beaucoup plus vaste.
Les blockchains sont un jeu dans lequel les joueurs s’affrontent pour valider des transactions en les regroupant en blocs qui correspondent aux blocs de transactions créés par d’autres joueurs. La cryptographie est utilisée pour cacher les données qui permettraient à ces personnes de tricher. Un processus aléatoire est utilisé pour distribuer des jetons numériques aux personnes qui respectent les règles et produisent des blocs qui correspondent aux blocs soumis par d’autres personnes. Ces blocs sont ensuite enchaînés pour créer un enregistrement vérifiable de toutes les transactions effectuées sur le réseau.
Lorsque des personnes produisent de nouveaux blocs contenant des transactions différentes, nous appelons cela un « fork » car la chaîne bifurque alors dans deux directions différentes. C’est exactement le contraire de ce que nous voulons. Toute la valeur d’une blockchain provient du fait que tout le monde est d’accord – est parvenu à un consensus – sur les transactions qui ont eu lieu et à quel moment. Les algorithmes de consensus sont donc destinés à résoudre les bifurcations.
La véritable innovation de Satoshi
En fin de compte, ce qui garantit que chacun mette à jour sa base de données pour qu’elle corresponde à celle de l’autre se résume à la façon dont ils sont punis lorsqu’ils ne le font pas. Les protocoles contiennent des règles pour l’ordre correct des transactions, mais s’il n’y a pas de répercussion pour la violation de ces règles, elles seront inefficaces. La véritable innovation apportée par Satoshi Nakamoto dans le livre blanc du bitcoin (BTC) est son utilisation élégante des incitations économiques.
Satoshi Nakamoto n’a pas inventé l’idée de la « monnaie électronique ». Il a créé un système élégant pour combiner la cryptographie et l’économie afin de tirer parti des pièces électroniques, maintenant appelées crypto-monnaies, pour utiliser des incitations afin de résoudre des problèmes que les algorithmes seuls ne peuvent pas résoudre. Sa conception obligeait les gens à sacrifier de l’argent afin d’extraire des blocs de transactions. Les gens devaient sacrifier cet argent encore et encore et encore en respectant les règles du système et en essayant d’organiser les transactions en blocs qui seraient acceptés par tous les autres membres du réseau. S’ils le font suffisamment longtemps, ils reçoivent une récompense dans la monnaie de la plateforme.
Bien sûr, il n’y a aucun moyen pour la blockchain de savoir que l’argent a été dépensé sous la forme de dollars, de yens ou d’euros, c’est pourquoi il a utilisé un proxy sous la forme d’un travail sans signification. Il a rendu le minage de blocs inutilement difficile, de sorte que toute personne ayant réussi à miner un bloc doit nécessairement avoir dépensé de l’argent pour acheter du matériel et de l’énergie pour faire fonctionner ce matériel. Ainsi, chaque bloc miné avec succès est soutenu par de l’argent qui a été sacrifié non seulement pour le matériel, mais aussi pour l’énergie requise pour faire fonctionner ce matériel et produire ce bloc. Lorsqu’il y a des forks, les algorithmes de consensus de type proof-of-work (PoW) sont un système automatisé dans lequel le fork soutenu par le plus de travail est le « bon » fork.
Voir aussi : Proof-of-stake vs. proof-of-work : Différences expliquées
Cela signifie que tous ceux qui continuent à produire des blocs sur cette bifurcation continueront à gagner des récompenses et que tous ceux qui continuent à produire des blocs sur l’autre bifurcation ne gagneront pas de récompenses. Puisque ces personnes ont déjà dépensé leur argent pour acquérir du matériel et le faire fonctionner pour produire des blocs, la punition est facile car elles ont déjà été punies financièrement. Ils ont dépensé leur argent, donc s’ils veulent continuer à produire des blocs sur la mauvaise chaîne, c’est très bien. Ils ne gagneront aucune récompense et ne récupéreront pas leur argent. Ils auront sacrifié cet argent pour rien. Leurs blocs ne seront pas acceptés par le réseau et… ils ne gagneront aucun jeton.
Ce système de preuve de travail garantit que la seule façon pour quelqu’un qui ne veut pas jouer selon les règles, un acteur malveillant, est d’acquérir et de faire fonctionner plus de matériel que tous les autres réunis, par exemple en montant une attaque de 51%.
C’est l’élégance de la preuve de travail. Le système ne peut pas fonctionner sans sacrifier des quantités toujours plus importantes de capital. Satoshi a combiné la cryptographie et l’économie pour créer un registre de transactions qui est si fiable qu’il est sans confiance.
Il existe cependant différents algorithmes de consensus qui fonctionnent de manière légèrement différente. Le plus connu d’entre eux est le proof-of-stake (PoS), dont je parlerai dans le prochain article de cette série. Ensuite, je parlerai de l’algorithme que nous utiliserons dans Koinos, qui est le premier du genre dans une blockchain à usage général.
Les points de vue, réflexions et opinions exprimés ici n’engagent que l’auteur et ne reflètent ou ne représentent pas nécessairement les points de vue et opinions de Cointelegraph.
Andrew Levine est le PDG de Koinos Group, où lui et l’ancienne équipe de développement derrière la blockchain Steem construisent des solutions basées sur la blockchain qui permettent aux gens de s’approprier et de contrôler leur identité numérique. Leur produit de base est Koinos, une blockchain haute performance construite sur un cadre entièrement nouveau, conçu pour donner aux développeurs les fonctionnalités dont ils ont besoin pour offrir aux utilisateurs les expériences nécessaires à l’adoption de la blockchain par le plus grand nombre.