Qu’est-ce que la preuve de travail ?

Partager cette publication

La preuve de travail, souvent abrégée en PoW, est un système permettant d’éviter les doubles emplois. Il s’agit d’un algorithme de consensus pour le grand livre distribué que nous appelons la blockchain, qui est le modèle de consensus sous-jacent du bitcoin. La preuve de travail constitue également la base d’autres crypto-monnaies. Il décrit un système spécifique qui nécessite un niveau d’effort important mais réalisable pour empêcher l’utilisation malveillante ou frivole de la puissance informatique, comme la distribution de spam ou le lancement d’attaques par déni de service. Les participants doivent résoudre une énigme mathématique unique qui présente une caractéristique essentielle : l’asymétrie.

Le travail devrait être difficile du côté du bâtiment 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 de fonction de tarification du processeur. Les mineurs rivalisent pour être les premiers à trouver une solution au problème mathématique dont la résolution nécessite une grande puissance de calcul. Cela leur permettra de construire le bloc candidat, un problème qui ne peut être résolu autrement que par la force brute, essentiellement un processus d’essai et d’erreur, qui nécessite un nombre considérable de tentatives. Le PoW reste le mécanisme de consensus dominant à ce jour.

Une brève histoire du PoW

Saviez-vous que le Bitcoin est la crypto-monnaie à l’origine de l’invention du PoW ? Le concept a été fondé en 2004 par Hal Finney à travers l’idée de « preuve de travail réutilisable », mais a été adopté et mis en œuvre en 2009 après l’introduction du bitcoin par Satoshi Nakamoto. Hash cash d’Adam Back est également un exemple précoce d’un algorithme de preuve de travail avant l’apparition des crypto-monnaies. Les expéditeurs sont tenus d’effectuer une petite quantité de calcul avant d’envoyer des courriels afin que les destinataires puissent atténuer le spam.

Ce type de calcul est pratiquement gratuit pour tout expéditeur légitime, mais peut rapidement s’accumuler pour quiconque envoie des courriels en masse. Les courriels légitimes feront le travail de génération de preuves rapidement, surtout s’il s’agit d’un seul courriel. Les spammeurs auront toutefois du mal à produire la preuve nécessaire, qui requiert des ressources informatiques importantes. La preuve de travail en hachage est utilisée pour la génération de blocs en bitcoin. Les mineurs doivent remplir un PoW qui couvre l’ensemble des données du bloc pour qu’un bloc soit autorisé par les nouveaux participants au réseau. La difficulté devra ici être légèrement ajustée pour limiter le rythme auquel le réseau peut créer un nouveau bloc à un toutes les 10 minutes. Cependant, la probabilité d’une génération réussie est très faible ; il est donc difficile de déterminer quel ordinateur ouvrier du réseau générera le bloc en premier.

Pour tout bloc acceptable, il doit être haché à une valeur qui est inférieure à la cible actuelle. Qu’est-ce que ça veut dire ? Cela signifie que chaque bloc indique que des travaux ont déjà été effectués pour le générer. Chaque bloc est accompagné du hachage du bloc précédent. Ainsi, chaque bloc a une chaîne de blocs qui contient une énorme quantité de travail. Pour modifier le bloc actuel, ce qui ne peut se faire qu’en générant un nouveau bloc avec le même prédécesseur, il faut régénérer tous les successeurs et y refaire le travail. Cela permet de protéger la blockchain contre les manipulations.

Pourquoi est-ce nécessaire ?

Une preuve de travail est-elle nécessaire ? Si vous avez une idée du fonctionnement de la technologie blockchain, vous savez comment la preuve de travail entre en jeu 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 au réseau de la blockchain. Une blockchain est une base de données massive qui est disponible et consultable par chaque utilisateur afin qu’il puisse vérifier si le capital a été dépensé auparavant ou non. Il joue le rôle de médiateur entre les utilisateurs en les avertissant de chaque action ayant lieu 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 à Sem, 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.

Ainsi, 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 d’effectuer une autre transaction avec les mêmes jetons que ceux qu’il a envoyés à Shem, tout le monde le saura immédiatement. Les membres ne permettront pas d’ajouter la transaction 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 en dehors du bloc-notes. Le vrai défi, c’est quand vous avez plus de 20 000 participants du monde entier. Comment s’assurer que les transactions ne sont pas répétées ? C’est là que la preuve du travail intervient. Elle réglemente la plateforme et veille à ce que les utilisateurs ne dépensent pas ce qu’ils n’ont pas le droit de dépenser. En utilisant une combinaison de cryptographie et de théorie des jeux, l’algorithme PoW permet de 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 de bloc-notes, les transactions peuvent être ajoutées une par une, mais lorsqu’il s’agit de 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. L’ajout d’un bloc n’est ni facile ni bon marché. La preuve de travail exige du mineur qu’il utilise certaines de ses ressources uniques pour bénéficier de ce privilège. Cette ressource particulière est la puissance de calcul qui permet de hacher les données du bloc jusqu’à ce que la solution de l’énigme soit trouvée. Le hachage des données d’un bloc est réalisé en les faisant passer par une fonction de hachage pour créer un hachage de bloc. Le bloc de hachage fonctionne comme une « empreinte digitale », c’est-à-dire qu’il sert d’identité à vos données d’entrée. Il est spécifique à chaque bloc.

Toutefois, il est essentiel de garder à l’esprit qu’il est pratiquement impossible d’inverser un hachage de bloc pour obtenir les données d’entrée. Si vous connaissez l’entrée, il est également essentiel de s’assurer que vous avez confirmé que le hachage est correct. Il suffit de faire passer les données d’entrée par la fonction pour vérifier si elles correspondent. Pour que le PoW soit efficace, vous êtes tenu de fournir des données dont le hachage répond à des conditions spécifiques, mais vous n’avez pas besoin de savoir comment y parvenir. Votre objectif principal doit être les données que vous faites passer par la fonction de hachage pour voir si elles correspondent aux conditions. Vous devrez modifier un peu les données si celles que vous avez transmises sont rejetées. Le moindre changement vous donne un hachage différent. Il n’y a donc aucun moyen de prédire ou de déterminer le résultat d’une entrée. En termes simples, vous jouez à un jeu de devinettes en combinant généralement les informations de toutes les transactions que vous souhaitez ajouter et quelques données magiques, puis vous hachurez le tout. Toutefois, comme votre ensemble de données ne changera pas, vous devrez ajouter une information variable supplémentaire. Si vous ne faites pas cela, vous obtiendrez toujours le même hachage en sortie à chaque fois. Les données variables dont nous parlons ici s’appellent un nonce. C’est le nombre que vous ajusterez à chaque tentative pour vous assurer d’obtenir un hachage différent. Et c’est ce que nous appelons l’exploitation minière.

Pour résumer, le minage est le processus qui consiste à combiner les données de la blockchain et à les hacher avec un nonce jusqu’à ce qu’un certain nombre soit trouvé. Si votre hachage satisfait aux conditions fixées, vous gagnez 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 faites du minage depuis un certain temps, vous avez peut-être remarqué que le minage des principales crypto-monnaies comme les bitcoins devient incroyablement complexe. Les conditions à remplir sont plus difficiles à satisfaire. N’oubliez pas que des taux de hachage plus élevés signifient qu’il sera plus difficile de générer un hachage valide. Cela permet de s’assurer que les utilisateurs ne créent pas de blocs facilement et rapidement. Si de plus en plus de personnes rejoignent le secteur de l’exploitation minière du bitcoin, l’exploitation minière se compliquera, car nous devons nous attendre à ce que les taux de hachage augmentent. Essayer de deviner des quantités aussi massives de hachages peut coûter cher, notamment en termes d’Internet, d’énergie et de matériel. Vous pouvez finir par gaspiller beaucoup d’électricité et de puissance de calcul, mais le résultat sera une grosse récompense en bitcoin ou toute autre cryptocurrency que vous avez décidé de miner.

Résumé

Bien que l’extraction de bitcoins soit un processus compétitif, il s’agit plus d’une chance que d’une course. En général, toutes les dix minutes, quelqu’un crée 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 qui vient en bitcoins. PoW s’est avéré sûr et fiable, et le bitcoin nous a prouvé que nous n’avions pas besoin d’ entités centralisées pour empêcher que les fonds soient dépensés deux fois. La preuve de travail garantit qu’il est difficile d’interférer avec un quelconque aspect de la blockchain, car une telle perturbation n’entraînerait qu’un nouveau minage des blocs suivants. Le PoW garantit également que les utilisateurs ne monopolisent pas la puissance de calcul du réseau, car la puissance et les machines nécessaires pour générer les fonctions de hachage sont assez coûteuses.

Plus à explorer

Avez-vous besoin d'aide pour votre entreprise Bitcoin?

Nous sommes plus qu'une installation minière; nous sommes vos partenaires miniers. Que vous soyez amateur ou mineur professionnel, notre objectif est de rendre votre exploitation minière plus rentable en offrant les solutions minières ASIC les plus récentes et les plus efficaces.