vendredi, novembre 29, 2024

Dans l’esprit du développeur de blockchain : consensus sur la blockchain de preuve de gravure

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 est centrée 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 brûlure.

Dans le premier article de la série, j’ai exploré la preuve de travail (PoW) – l’algorithme de consensus OG – et expliqué comment cela fonctionne pour amorcer la décentralisation, mais aussi pourquoi il est inefficace. Dans le deuxième article, j’ai exploré la preuve de participation (PoS) et en quoi elle est bonne pour réduire les coûts d’exploitation d’un réseau décentralisé par rapport à la preuve de travail, mais aussi pourquoi elle enracine davantage les mineurs, nécessite des travaux complexes et éthiquement discutables. réduire les conditions et ne parvient pas à empêcher les « attaques d’échange ».

Dans cet article, j’expliquerai le troisième algorithme de consensus qui a été proposé environ un an après la preuve de participation mais, pour des raisons qui devraient devenir claires, n’a jamais été implémenté en tant qu’algorithme de consensus sur une blockchain à usage général. Au moins pas jusqu’à maintenant.

Preuve de travail

Comme je l’ai expliqué dans le premier article, du point de vue de la théorie des jeux, 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. Bitcoin (BTC) fonctionne en attribuant plus de poids aux blocs produits par des personnes qui ont probablement sacrifié plus de capital qu’ils « prouvent » par le « travail ».

É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, leur punition est facile car elles ont déjà été punies. La preuve de participation, cependant, fonctionne d’une manière fondamentalement différente qui a d’importantes conséquences sur la théorie des jeux.

Preuve de participation

Au lieu de forcer les producteurs de blocs à sacrifier du capital pour acquérir et faire fonctionner du matériel afin d’acquérir la capacité de gagner des récompenses en bloc, en preuve de participation, les détenteurs de jetons n’ont qu’à sacrifier la liquidité de leur capital pour gagner des récompenses en bloc. Le problème est que cela diminue la sécurité du réseau car l’attaquant n’a besoin que d’acquérir 51% de la devise de base de la plate-forme et de la mettre en jeu pour prendre le contrôle du réseau.

Pour contrecarrer cette attaque, les systèmes de point de vente qui doivent mettre en œuvre des systèmes compliqués conçus pour bloquer les récompenses des comptes d’utilisateurs, ce qui ajoute à la surcharge de calcul du réseau, soulève des problèmes éthiques légitimes et ne fonctionne que si l’attaquant ne parvient pas à acquérir 51% des fourniture de jetons. La mise en œuvre de ces conditions de réduction n’est en aucun cas anodine, c’est pourquoi tant de projets de preuve de participation comme Solana ont, de leur propre aveu, été lancés avec des solutions centralisées en place, et pourquoi tant d’autres projets comme Ethereum 2.0 (Eth2) sont prendre si longtemps pour mettre en œuvre PoS. La solution typique consiste à donner à une fondation une participation suffisamment importante pour qu’elle seule ait le pouvoir de déterminer qui est un acteur malveillant et de réduire leurs récompenses.

Ceci est particulièrement problématique dans un monde avec des échanges centralisés qui comportent un jalonnement de garde, ce qui signifie qu’il peut se retrouver en train de contrôler plus de 51% d’une offre de jetons donnée sans avoir encouru aucun risque, ce qui rend le coût d’une attaque minime. En fait, cela s’est déjà produit dans l’histoire récente sur l’une des blockchains les plus utilisées au monde, autrefois évaluée à près de 2 milliards de dollars : Steem.

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

Consensus du Saint Graal

Comme je l’ai dit à la fin de mon dernier article, ce dont nous allons discuter dans cet article est la question hypothétique de savoir s’il existe une solution « le meilleur des deux mondes » qui offre la décentralisation et la sécurité de la preuve de travail. avec l’efficacité de la preuve de participation. Aujourd’hui, nous sommes ravis d’annoncer la sortie de notre livre blanc sur la preuve de gravure. Dans ce livre blanc, nous soutenons que la preuve de combustion est exactement la meilleure solution des deux mondes.

Iain Stewart a proposé la preuve de combustion en 2012 – un an après la preuve de participation – comme une expérience de pensée conçue pour contraster les différences entre la preuve de travail et la preuve de participation. Nous pensons qu’il a involontairement découvert le « Saint Graal » des algorithmes de consensus qui s’est perdu dans le temps, en grande partie à cause d’accidents historiques. Comme Iain Stewart c’est noté:

« J’ai pensé qu’il serait intéressant d’inventer une tâche qui soit absolument, à nu, sans ambiguïté, un exemple du contraste entre les deux points de vue. Et oui, il y en a un : brûler la monnaie !

L’attaque de change

En tant qu’ancienne équipe de développement de base derrière la blockchain Steem, nous avons une expérience intime des attaques par échange. C’est pourquoi l’atténuation de ce vecteur d’attaque était de la plus haute importance et a inspiré l’architecte de blockchain Steve Gerbino à explorer des algorithmes de consensus alternatifs à la recherche d’une solution qui nous donnerait toujours les performances et l’efficacité nécessaires pour un ordinateur mondial hautes performances, tout en atténuant cet important vecteur d’attaque.

La preuve de gravure en tant qu’algorithme de consensus est remarquablement simple et sa valeur unique est facile à comprendre. Comme la preuve de travail, il exige que le coût de l’attaque du réseau soit payé « d’avance ». Comme la preuve de participation, aucun matériel réel ne doit être acheté et exécuté en dehors du matériel requis pour produire des blocs. Comme la preuve de travail, l’attaque d’échange est déjouée parce que le producteur de blocs a déjà perdu son argent, car il essaie simplement de le récupérer en maintenant un grand livre correct.

Pour lancer une attaque à 51%, l’acteur malveillant n’a pas seulement besoin d’acquérir 51% de l’offre de jetons, il doit en disposer de manière prouvée en acquérant des matériel minier. La seule façon de récupérer cette perte est de produire des blocs sur la chaîne qui gagne finalement. C’est une solution remarquablement simple et élégante au problème. Il n’est pas nécessaire de réduire les conditions car le producteur de blocs a effectivement réduit sa propre participation au tout début.

Preuve de brûlure

Iain Stewart a proposé une preuve de combustion pour Bitcoin un an avant qu’une blockchain à usage général ne soit même conçue par Vitalik Buterin. C’est peut-être pour cette raison qu’il a fallu autant de temps pour que les gens se rendent compte que ces deux choses fonctionnent incroyablement bien ensemble. Les blockchains à usage général accordent une grande importance à l’efficacité tout en permettant des conceptions économiques symboliques sans plafonds d’approvisionnement maximum, une exigence pour les implémentations de preuve de gravure. Une partie du problème pourrait également être que plusieurs concepts innovants tels que les jetons non fongibles (NFT) et les teneurs de marché, et des solutions telles que les contrats intelligents évolutifs sont extrêmement bénéfiques pour la mise en œuvre et n’ont émergé qu’après la proposition.

Mineurs NFT

Garder une trace des comptes qui ont brûlé quels montants et quand ils ont été brûlés peut être une tâche exigeante en termes de calcul et cette charge accrue sur le réseau pourrait être l’une des raisons pour lesquelles les gens ont évité cette mise en œuvre.

Heureusement, les jetons non fongibles nous fournissent une primitive puissante que le système peut utiliser pour suivre efficacement toutes ces informations dans le but de distribuer des récompenses de bloc aux producteurs de blocs valides. Le résultat final est un NFT qui fonctionne efficacement comme un mineur virtuel, mais aussi qui est personnalisable à l’infini et avec précision.

Les développeurs de blockchain peuvent réguler avec précision l’accessibilité de leurs plateformes en fonction de la tarification de leurs NFT de mineurs. Fixer un prix élevé aux mineurs reviendrait à exiger l’achat d’ASIC (machines de mineur) afin de participer à la production de blocs. Fixer un prix bas aux mineurs équivaudrait à permettre à quiconque d’exploiter du matériel de base. Mais, la meilleure partie est qu’aucun matériel réel n’est requis de toute façon.

Étant donné que Koinos est axé sur l’accessibilité, les NFT pour mineurs auront probablement un prix bas, ce qui revient en fait à disposer de l’algorithme ultime résistant aux GPU et aux ASIC. Mais cela soulève la question : « Et si vous choisissiez le mauvais numéro ? » Cela met en évidence l’importance de l’évolutivité modulaire. Sur Koinos, toute la logique métier est implémentée sous forme de modules de contrats intelligents pouvant être mis à niveau individuellement sans hard fork. Cela signifie que si, par exemple, le prix du KOIN explosait au point que le coût fixe des mineurs n’était plus suffisamment accessible, la gouvernance pourrait simplement voter pour baisser ce coût et le nombre serait mis à jour dès qu’il y aurait un consensus. .

Résistance à la centralisation

Fixer le coût des NFT des mineurs revient à créer l’algorithme le plus résistant possible aux GPU et aux ASIC, car personne ne peut tirer un avantage de l’acquisition de matériel spécialisé. Mieux encore, cela rend les NFT des mineurs plus uniformes et donc plus faciles à vendre (plus fongibles) sur une bourse décentralisée, ce qui signifie que les producteurs de blocs prennent moins de risques car ils peuvent toujours liquider leurs mineurs.

La puissance de la preuve de gravure découle en fin de compte du fait que nous internalisons le matériel de minage dans le système. Il s’agit de matériel virtuel, ce qui signifie qu’il est personnalisable à l’infini par les concepteurs du système pour maximiser les performances du réseau. Une conséquence de cela est que le système peut être conçu pour garantir que le mineur regagnera sa brûlure ainsi que quelques jetons supplémentaires – une garantie qui ne peut pas être faite par les systèmes de preuve de travail.

Cette personnalisation nous permet également d’atténuer les attaques à 51% en concevant le système de sorte qu’à mesure que la demande de mineurs augmente, la période de récupération s’allonge.

Maintenant, imaginez que quelqu’un (comme une bourse) veuille reprendre la production de blocs. Premièrement, ils devraient brûler plus de jetons que tout le monde combiné. Même alors, ils n’auront rien obtenu pour cela. Ils devront commencer à produire des blocs sur la chaîne gagnante pour commencer à récupérer leurs récompenses. Pendant ce temps, les autres participants au réseau pourraient voir ce qui se passe et réagir en conséquence. S’ils sentent que l’acteur tente de prendre le contrôle de la gouvernance, ils peuvent simplement acheter plus de mineurs, repoussant la fenêtre de remboursement pour l’acteur malveillant jusqu’à ce qu’il « fasse la queue ».

Économie symbolique

La preuve de combustion a également des propriétés économiques intéressantes qui la séparent à la fois du PoW et du PoS. Par exemple, si vous deviez fixer le taux de création de nouveaux jetons (alias « inflation »), puis, à un certain point, si trop de personnes devaient participer à la production de blocs, alors l’économie des jetons deviendrait déflationniste car les récompenses seraient repoussé plus rapidement que de nouveaux jetons n’étaient créés. Cela pourrait offrir des avantages en termes de performances au réseau, si nécessaire.

De nombreuses personnes produisant des blocs peuvent avoir un impact négatif sur la latence. Cette composante déflationniste servirait à décourager dynamiquement la production excessive de blocs, tout en offrant à l’écosystème un levier économique important, ou déflation.

Mon objectif avec cette série était de donner au lecteur une compréhension incroyablement profonde du sujet des algorithmes de consensus d’une manière qui était toujours accessible et, espérons-le, intéressante. Nous avons couvert l’arc historique des principaux algorithmes de consensus et ce que je pense être la prochaine évolution : la preuve de gravure. J’espère que vous êtes maintenant équipé pour évaluer par vous-même différentes implémentations consensuelles et tirer vos propres conclusions sur ce qui est innovant et ce qui ne l’est pas.

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 de Koinos Group, une équipe de vétérans de l’industrie qui accélère la décentralisation grâce à la technologie de blockchain accessible. Leur produit de base est Koinos, une blockchain gratuite et évolutive à l’infini avec prise en charge universelle des langues.