Dans l’esprit du développeur de blockchain : consensus sur la blockchain, partie 1

Cointelegraph suit le développement d’une toute nouvelle blockchain de la création au réseau principal et au-delà à travers sa série Inside the Blockchain Developer’s Mind. Dans les parties précédentes, Andrew Levine du groupe Koinos discuté certains des défis l’équipe a été confrontée depuis qu’elle a identifié les problèmes clés qu’elle a l’intention de résoudre et a décrit trois des « crises » qui freinent l’adoption de la blockchain : évolutivité, évolutivité, et gouvernance. Cette série se concentre sur l’algorithme de consensus : la première partie concerne la preuve de travail, la deuxième partie concerne la preuve de participation et la troisième partie concerne la preuve de combustion.

Dans cet article, je souhaite tirer parti de 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 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 les transactions en les regroupant en blocs qui correspondent aux blocs de transactions créés par d’autres joueurs. La cryptographie est utilisée pour masquer 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 produire 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 qui ont déjà été effectuées sur le réseau.

Lorsque les gens produisent de nouveaux blocs contenant différentes transactions, nous appelons cela un « fork » parce que la chaîne bifurque maintenant dans deux directions différentes. C’est exactement le contraire de ce que nous voulons qu’il se produise. Toute la valeur d’une blockchain provient du fait que tout le monde est d’accord – est parvenu à un consensus – sur les transactions qui se sont produites à quel moment. Les algorithmes de consensus sont donc destinés à résoudre les fourches.

La vraie innovation de Satoshi

En fin de compte, ce qui garantit que tout le monde met à jour sa base de données pour qu’elle corresponde se résume à la façon dont ils sont punis lorsqu’ils ne le font pas. Les protocoles contiennent des règles pour le bon ordre des transactions, mais s’il n’y a pas de répercussion pour la violation de ces règles, ils seront inefficaces. La véritable innovation que Satoshi Nakamoto a apportée dans le livre blanc Bitcoin (BTC) était son utilisation élégante des incitations économiques.

Satoshi Nakamoto n’a pas inventé l’idée de la « pièce électronique ». Il a créé un système élégant pour combiner la cryptographie avec l’économie pour tirer parti des pièces électroniques, maintenant appelées crypto-monnaies, afin d’utiliser des incitations pour résoudre des problèmes que les algorithmes seuls ne peuvent pas résoudre. Sa conception a forcé les gens à sacrifier de l’argent pour exploiter des blocs de transactions. Les gens devraient sacrifier cet argent 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 faisaient cela assez longtemps, ils recevraient une récompense dans la devise 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 forme d’USD, de yen ou d’euro, c’est pourquoi il a utilisé un proxy sous la forme d’un travail dénué de sens. Il a rendu l’extraction de blocs inutilement difficile, de sorte que toute personne ayant réussi à extraire un bloc doit nécessairement avoir dépensé de l’argent en matériel et en énergie pour faire fonctionner ce matériel. Ainsi, chaque bloc extrait avec succès est soutenu par de l’argent qui a été sacrifié non seulement sur le matériel, mais sur l’énergie nécessaire pour faire fonctionner ce matériel et produire ce bloc. Chaque fois qu’il y a des forks, les algorithmes de consensus de preuve de travail (PoW) sont un système automatisé dans lequel le fork soutenu par le plus de travail est le « bon » fork.

En rapport: Preuve de participation vs preuve de travail : les différences expliquées

Cela signifie que tous ceux qui continuent à produire des blocs sur cette fourchette continueront à gagner des récompenses et que tous ceux qui continueront à produire des blocs sur l’autre fourchette ne gagneront pas de récompenses. Étant donné que ces personnes ont déjà dépensé leur argent pour acquérir du matériel et l’exécuter 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, ce n’est pas un problème. 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 le seul moyen pour quelqu’un qui ne veut pas respecter les règles, un acteur malveillant, est d’acquérir et d’exécuter plus de matériel que tout le monde combiné, par exemple en lançant une attaque à 51%.

C’est l’élégance derrière la preuve de travail. Le système ne peut pas fonctionner sans sacrifier des capitaux toujours plus importants. Satoshi a combiné la cryptographie et l’économie pour créer un registre des transactions si digne de confiance qu’il est sans confiance.

Il existe cependant différents algorithmes de consensus qui fonctionnent de manière légèrement différente. La plus connue est la preuve de participation (PoS), dont je parlerai dans le prochain article de cette série. Après cela, je discuterai 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, pensées 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 du groupe Koinos, où lui et l’ancienne équipe de développement derrière la blockchain Steem créent des solutions basées sur la blockchain qui permettent aux gens de s’approprier et de contrôler leur moi numérique. Leur produit de base est Koinos, une blockchain hautes performances construite sur un tout nouveau framework conçu pour donner aux développeurs les fonctionnalités dont ils ont besoin pour offrir les expériences utilisateur nécessaires pour diffuser l’adoption de la blockchain auprès des masses.