Algorithmes de blockchain : Preuve de travail

Lecture 11 minutes
Algorithmes de blockchain : Preuve de travail

Preuve de travail (PoW) est l’idée de protéger les réseaux d’une utilisation excessive à des fins égoïstes (par exemple, contre les attaques DoS ou l’organisation de courriers indésirables), basée sur la nécessité d’effectuer un travail assez long côté client (trouver une solution à un problème), dont le résultat est facilement et rapidement validé côté serveur.

Une propriété clé des calculs utilisés est l’asymétrie du temps passé – ils sont énormes pour trouver une solution et insignifiants pour la vérification.

Pour la première fois, en 1993, son principe a été décrit dans les travaux de l’informaticien américain Cynthia Dwork et le cryptographe israélien Moni Naor. Ils ont créé une base théorique pour PoW, proposant de créer un algorithme donnant accès à certaines données uniquement aux utilisateurs qui ont correctement résolu un certain problème.

La prochaine étape dans le développement de l’algorithme de « preuve de travail » a été celui d’Adam Back hashcash, créé en 1996 — cet outil a aidé à prévenir les attaques DoS (Denial of Service) et d’autres interruptions de service telles que le spam réseau, obligeant l’utilisateur à effectuer certains travaux.

En août 2004, passionné de crypto Hal Finney a publié ses recherches « RPoW », ou une preuve de travail réutilisable. Le système fonctionnait en recevant un jeton Hashcash non fongible ou non fongible basé sur une preuve de travail et signé en RSA, qui pouvait ensuite être transféré de personne à personne.

RPoW a résolu le problème de la double dépense en utilisant un mécanisme de confirmation de la propriété des pièces à partir d’un serveur de confiance, qui donne accès aux participants du système dans n’importe quel pays pour analyser l’exactitude et l’intégrité de l’opération. Dans la communauté internationale, RPoW est considéré comme la première version des actifs de crypto-monnaie.

Le terme preuve de travail a été formellement inventé par Marcus Jacobsen et Bijoux Ari en 1999.

En 2008, tous ces développements ont été combinés dans le développement de Satoshi Nakamoto, que nous appelons aujourd’hui Bitcoin.

Plus tard (en 2009), le développeur de Bitcoin a proposé une méthode progressive de mise en œuvre de la preuve de travail en tant qu’algorithme de consensus utilisé pour confirmer les transactions et transférer de nouveaux blocs vers la blockchain.

Comme base, Satoshi a pris hashcash avec le SHA-256 algorithme de hachage (SHA-256 est plus sécurisé que l’algorithme Hashcash d’origine), et PoW assure le fonctionnement du réseau blockchain : il sert à générer un nouveau bloc et garantit la sécurité de l’ensemble du réseau.

En termes simples, les mineurs du réseau (nœuds) se font concurrence pour résoudre des énigmes informatiques complexes. Ces énigmes sont difficiles à résoudre, mais il est facile de vérifier la bonne solution.

Un mineur est un appareil dans une infrastructure réseau qui traite les transactions (sélection et sélection en blocs). Lorsque des transactions ont lieu, les nœuds des mineurs reçoivent et vérifient les transactions, les transfèrent vers le stockage, puis les regroupent dans un bloc.

Lorsque le mineur trouve la bonne solution au problème de cryptographie, il pourra ajouter un bloc au réseau, après quoi d’autres mineurs confirmeront que la tâche a été effectuée correctement. Après cela, la rémunération est calculée pour le nœud qui a trouvé la bonne solution.

Bitcoin est un système basé sur la blockchain qui est soutenu par le travail collectif de nœuds décentralisés. Certains de ces nœuds sont appelés mineurs et sont chargés d’ajouter de nouveaux blocs à la blockchain. Pour ce faire, les mineurs doivent deviner un nombre pseudo-aléatoire (nonce).

Ce nombre est combiné avec les données présentées dans le bloc et passé par la fonction de hachage, ce qui devrait conduire à un résultat qui converge avec les conditions données (par exemple, à un hachage commençant par 4 zéros).

Lorsqu’un résultat correspondant est trouvé, d’autres nœuds vérifient la validité du résultat et le nœud du mineur reçoit une récompense de bloc.

Ainsi, il n’est pas possible d’ajouter un nouveau bloc à la chaîne principale à moins qu’un nonce valide ne soit trouvé, ce qui à son tour génère une solution à un bloc spécifique (appelé le hachage du bloc). Chaque bloc confirmé contient un hachage de bloc qui représente le travail effectué par le mineur, c’est pourquoi il s’appelle Proof of Work.

La preuve de travail aide à protéger votre réseau contre de nombreuses attaques différentes. Une attaque réussie nécessitera une grande puissance de traitement et beaucoup de temps de calcul, elle sera donc inefficace car les coûts seront supérieurs à la récompense potentielle de l’attaque du réseau.

Un problème avec la preuve de travail est que des calculs algorithmiques complexes garantissent la sécurité du réseau, mais ces calculs ne peuvent pas être utilisés en dehors de l’écosystème.

Dans le modèle de l’algorithme de consensus Proof-of-Work, deux paramètres jouent le rôle principal : la puissance de calcul (taux de hachage) et la probabilité de trouver un nonce aléatoire.

Ces deux paramètres sont interdépendants : plus le taux de hachage est élevé, plus les chances de générer un bloc sont élevées.

En raison de l’énorme croissance du réseau bitcoin, de très grandes capacités sont nécessaires pour générer des blocs. Les pools sont donc désormais principalement engagés dans l’extraction de bitcoins. En 2012, le hashrate total du réseau bitcoin dépassait la puissance de calcul de l’ordinateur le plus puissant au monde.

Les GPU agissent comme des nœuds de réseau : 1 GPU = 1 nœud. La comptabilisation des GPU, plutôt que des IP en tant que nœuds, a empêché plusieurs propriétaires d’adresses IP de prendre le contrôle du réseau.

  1. La création d’immenses fermes minières et la concentration d’une énorme puissance de calcul dans une main crée le danger d’un soi-disant 51% d’attaque. Cela devient possible lorsque plus de la moitié du taux de hachage total est concentré dans une main
  2. Consommation excessive d’électricité, qui augmente chaque mois
  1. L’impossibilité de falsifier les résultats – le nonce trouvé est vérifié par tous les nœuds du réseau avant que le bloc ne soit généré
  2. L’impossibilité de « préparer » le résultat – le travail pour trouver le nonce du bloc suivant ne commencera qu’une fois le travail sur le précédent terminé
  3. L’impossibilité d’une attaque Sibyl – un attaquant théorique ne sera pas en mesure de créer une multitude de faux nœuds, à l’aide desquels il pourrait « masse » supprimer l’opinion des autres nœuds du réseau
  4. Incitation à une participation honnête — lorsqu’un des nœuds commence à « tricher » et essaie de perturber le réseau, il peut être bloqué de façon permanente par d’autres participants du réseau
  5. Honnêteté des gains – le montant de la récompense potentielle dépend directement du taux de hachage possédé par le nœud

L’algorithme Proof-of-Work est utilisé dans de nombreuses crypto-monnaies populaires : Bitcoin, Ethereum, Litecoin, Zcash, Monero.

Source medium.com

Crypto Week

Avertissement : Crypto Week ne fournit pas de conseils financiers de quelque manière que ce soit. Nous ne vous recommandons pas d'investir de l'argent dans une crypto-monnaie ou un actif financier sans avoir effectué des recherches approfondies. Nous ne sommes pas responsables de vos décisions financières de quelque manière que ce soit.

Derniers articles de Featured Posts