4479 Desserte Nord Autoroute 440, Laval, QC H7P 6E2

Qu’est-ce que la preuve de travail ?

Table des matières

La preuve de travail, souvent abrégée en PoW, est un système visant à éviter les doubles dépenses. Il s’agit d’un algorithme de consensus pour le registre distribué que nous appelons la Blockchain, qui est le modèle de consensus sous-jacent du bitcoin. La preuve de travail forme également la base d’autres cryptomonnaies. Elle décrit un système spécifique qui nécessite un niveau d’effort significatif mais réalisable pour empêcher une utilisation malveillante ou frivole de la puissance de calcul, telle que la diffusion de spam ou l’initiation d’attaques par déni de service. Elle confie aux participants une énigme mathématique unique qui possède une caractéristique clé : l’asymétrie.

Le travail doit être difficile du côté de la construction, mais facile à vérifier pour le réseau. Cette idée est également connue sous le nom de fonction de coût du processeur ou fonction de tarification du processeur. Les mineurs se disputent pour être les premiers à trouver une solution au problème mathématique qui requiert beaucoup de puissance de calcul pour être résolu. Cela leur permettra de construire le bloc candidat, un problème qui ne peut être résolu que par une force brute, essentiellement un processus d’essais et d’erreurs, qui nécessite un nombre considérable de tentatives. La preuve de travail demeure le mécanisme de consensus dominant à ce jour.

Un bref historique de la preuve de travail

Saviez-vous que Bitcoin est la cryptomonnaie à l’origine de l’invention de la preuve de travail ? Le concept a été créé en 2004 par Hal Finney grâce à l’idée de « preuve de travail réutilisable », mais il a été adopté et mis en œuvre en 2009 suite à l’introduction de Bitcoin par Satoshi Nakamoto. Hashcash d’Adam Back est également un exemple précoce d’algorithme de preuve de travail avant l’apparition des cryptomonnaies. Les expéditeurs doivent effectuer un petit calcul avant d’envoyer des e-mails afin que les destinataires puissent réduire le spam.

Ce genre de calcul est pratiquement gratuit pour tout expéditeur légitime, mais peut rapidement s’accumuler pour quiconque envoie des e-mails en masse. Les e-mails légitimes généreront rapidement la preuve nécessaire, surtout s’il s’agit d’un seul e-mail. Les spammeurs, cependant, auront du mal à produire la preuve requise, qui nécessite d’importantes ressources de calcul. La preuve de travail de Hashcash est utilisée pour la génération de blocs dans Bitcoin. Les mineurs doivent accomplir une preuve de travail qui couvre l’ensemble des données du bloc pour qu’un bloc soit accepté par les nouveaux participants du réseau. La difficulté doit être ajustée légèrement pour limiter la vitesse à laquelle le réseau peut créer un nouveau bloc à une fois toutes les 10 minutes. Cependant, il y a une très faible probabilité de réussite pour la génération d’un bloc ; cela rend difficile de déterminer quel ordinateur du réseau sera le premier à générer le bloc.

Pour qu’un bloc soit accepté, il doit avoir un hachage inférieur à la cible actuelle. Qu’est-ce que cela signifie ? Cela signifie que chaque bloc indique que le travail nécessaire à sa génération a déjà été effectué. Chaque bloc est lié au bloc précédent par le hachage. Ainsi, chaque bloc possède une chaîne de blocs qui contiennent une quantité considérable de travail. Pour modifier le bloc actuel, ce qui ne peut être fait qu’en générant un nouveau bloc avec le même prédécesseur, il faut régénérer tous les blocs successeurs et refaire le travail correspondant. Cela permet de protéger la Blockchain contre toute tentative de manipulation.

Pourquoi est-ce nécessaire ?

La preuve de travail est-elle nécessaire ? Eh bien, si vous avez une idée de fonctionnement de la technologie Blockchain, alors vous avez une bonne idée de l’importance de la preuve de travail et pourquoi elle est nécessaire. Les utilisateurs doivent diffuser leurs transactions sur le réseau. Ces transactions prennent du temps pour être considérées comme valides lorsqu’elles sont ajoutées à la Blockchain. Une Blockchain est une immense base de données disponible et consultable par tous les utilisateurs afin qu’ils puissent vérifier si le capital a déjà été dépensé ou non. Elle sert d’intermédiaire entre les utilisateurs en les informant de chaque action se déroulant dans la base de données. Voici un bon exemple : Job, Jane et Bob ont un bloc-notes (dans ce cas, le bloc-notes est la Blockchain). Chaque fois que les trois amis veulent effectuer une transaction, ils doivent l’écrire –Bob a payé dix jetons à Jane, Jane a payé dix jetons à Shem, etc. Chaque fois que l’un des trois amis effectue une transaction, il fait référence à la transaction précédente d’où proviennent les fonds.

Donc, si Jane payait dix jetons à Shem, le bloc-notes indiquerait que Jane a payé les dix jetons à Shem après une transaction antérieure avec Bob, et c’est ainsi que les jetons sont suivis. Cela signifie que si Jane essaie de faire une autre transaction avec les mêmes jetons qu’elle a envoyés à Shem, tout le monde le saura immédiatement. Les membres n’autoriseront pas que la transaction soit ajoutée au bloc-notes. Eh bien, cela semble plus facile et gérable pour un petit groupe. Les membres se connaissent et peuvent décider de jouer un peu sur le bloc-notes. Le vrai défi survient lorsque vous avez plus de 20 000 participants du monde entier. Comment garantir que les transactions ne se répètent pas ? C’est là que la preuve de travail intervient. Elle régule la plateforme et garantit que les utilisateurs ne dépensent pas ce qu’ils ne sont pas autorisés à dépenser. En utilisant une combinaison de cryptographie et de théorie des jeux, l’algorithme de preuve de travail aide à maintenir tout le monde à jour dans la chaîne en utilisant les règles du système.

Comment cela fonctionne-t-il ?

Dans notre exemple du bloc-notes, les transactions peuvent être ajoutées une par une, mais en ce qui concerne la Blockchain, les transactions sont regroupées en blocs. Les transactions sont annoncées au réseau, et chaque utilisateur générant un bloc les inclura dans un bloc candidat. Une fois que le bloc candidat devient un bloc confirmé, la transaction est considérée comme valide, ce qui signifie qu’elle a été ajoutée à la Blockchain. Ajouter un bloc n’est ni facile ni bon marché. La preuve de travail nécessite que le mineur utilise certaines de ses ressources uniques pour profiter de ce privilège. Cette ressource particulière est la puissance de calcul qui peut hacher les données du bloc jusqu’à ce que la solution du puzzle soit trouvée. Le hachage des données d’un bloc est obtenu en les faisant passer par une fonction de hachage pour créer un hachage de bloc. Le hachage de bloc fonctionne comme une « empreinte digitale » où il sert d’identité pour vos données d’entrée. Il est spécifique à chaque bloc.

Cependant, il est essentiel de garder à l’esprit qu’il est virtuellement impossible de retourner en arrière à partir d’un hachage de bloc pour obtenir les données d’entrée. Si vous connaissez les données d’entrée, il est également essentiel de vous assurer que vous avez confirmé que le hachage est correct. Il suffit d’exécuter les données d’entrée à travers la fonction pour vérifier si elles correspondent. Pour que la preuve de travail soit efficace, vous devez fournir des données dont le hachage satisfait à des conditions spécifiques, mais vous n’avez pas besoin de savoir comment y parvenir. Votre principal objectif doit être les données que vous passez à travers la fonction de hachage pour voir si elles correspondent aux conditions. Vous devrez modifier un peu les données si les données que vous avez passées sont rejetées. Le moindre changement vous donne un hachage différent. Par conséquent, il est impossible de prédire ou de déterminer le résultat d’une entrée. En termes simples, vous jouez à un jeu de devinette en combinant généralement les informations de toutes les transactions que vous souhaitez ajouter ainsi que des données magiques, puis vous les hachez ensemble. Cependant, comme votre ensemble de données ne changera pas, vous devrez ajouter une variable supplémentaire. Si vous ne le faites pas, vous obtiendrez toujours le même hachage en sortie à chaque fois. La variable de données dont nous parlons ici s’appelle un nonce. C’est le numéro que vous ajusterez à chaque tentative pour vous assurer d’obtenir un hachage différent. Et c’est ce que nous appelons le minage.

En résumé, le minage est le processus de combinaison des données de la Blockchain et de leur hachage avec le nonce jusqu’à ce qu’un certain nombre soit trouvé. Si votre hachage satisfait aux conditions fixées, vous avez alors le droit de diffuser le nouveau bloc dans le système. À ce stade, les mineurs et les groupes de mineurs du réseau mettent également à jour leurs blockchains pour accueillir le nouveau bloc.

Si vous avez déjà fait du minage pendant un certain temps, vous avez peut-être remarqué que le minage de cryptomonnaies majeures comme le bitcoin devient incroyablement complexe. Les conditions à remplir sont de plus en plus difficiles à satisfaire. Rappelons-nous, des taux de hachage plus élevés signifient qu’il sera plus difficile de générer un hachage valide. Cela est fait pour garantir que les utilisateurs ne créent pas facilement et rapidement des blocs. À mesure que de plus en plus de personnes rejoignent l’industrie du minage de bitcoins, le minage deviendra plus compliqué car nous devrions nous attendre à ce que les taux de hachage augmentent. Essayer de deviner de telles quantités massives de hachages peut être coûteux, en particulier pour votre connexion Internet, votre alimentation électrique et votre matériel. Vous risquez de gaspiller beaucoup d’électricité et de puissance de calcul, mais le résultat sera une belle récompense en bitcoins ou dans toute autre cryptomonnaie que vous avez décidé de miner.

Résumé

Bien que le minage de bitcoins soit un processus compétitif, c’est plus une question de chance que de vitesse. En général, toutes les dix minutes, quelqu’un créera une preuve de travail acceptable. C’est pourquoi les mineurs se regroupent pour travailler plus rapidement et augmenter leurs chances de miner des blocs qui génèrent des transactions plus rapidement et de partager la récompense en bitcoins. La preuve de travail s’est avérée sécurisée et fiable, et le bitcoin nous a prouvé que nous n’avons pas besoin d’entités centralisées pour empêcher les fonds d’être dépensés deux fois. La preuve de travail garantit qu’il est difficile d’interférer avec n’importe quel aspect de la Blockchain, car une telle perturbation entraînera simplement un nouveau minage des blocs ultérieurs. La preuve de travail garantit également que les utilisateurs ne monopolisent pas la puissance de calcul du réseau, car la puissance et l’équipement nécessaires pour générer les fonctions de hachage sont assez coûteux.

Partagez la publication :

Avis de non-responsabilité : les informations fournies sur ce blog sont fournies à titre informatif uniquement et ne doivent en aucun cas être considérées comme une forme de conseil.

Articles Similaires