Définition de la Proof-of-Work
Le concept de base
Faisant sa première apparition en 1992, le concept de preuve de travail (Proof-of-Work en anglais) a été créé pour empêcher des attaques d’altération de service comme par exemple le spam dans les boites e-mail (les courriers indésirables).
La Proof of Work (PoW), ou Preuve de Travail en français, décrit un système qui exige une quantité d’effort importante mais réalisable afin de décourager les utilisations malveillantes de la puissance informatique, comme l’envoi de spams ou le lancement d’attaques par déni de service.
La Proof-of-Work et la blockchain
Le concept a ensuite été adapté à la sécurisation de la monnaie numérique par Hal Finney en 2004, avec l’idée de « preuve de travail réutilisable » utilisant l’algorithme de hachage SHA-256.
Après son introduction en 2009, le Bitcoin est devenu la première application largement adoptée de l’idée de preuve de travail de Finney (Finney a également été le bénéficiaire de la première transaction bitcoin). La preuve de travail constitue également la base de nombreuses autres cryptomonnaies, permettant un consensus sécurisé et décentralisé.
Comment fonctionne la Proof-of-Work ?
Le concept principal de la preuve de travail est de résoudre des équations mathématiques nécessitant de fournir du « travail » grâce a des ordinateurs assez puissants pour générer la puissance de calcul nécessaire. En fonction des cryptomonnaies, il est possible de réaliser ces calculs mathématiques avec un simple ordinateur ou un groupement de cartes graphiques puissantes permettant de fournir une puissance de calcul suffisante (c’est qu’on appelle les ferme de minage).
Du coup, les mineurs du réseau entrent en compétition pour résoudre ces énigmes informatiques complexes. Elles sont difficiles à résoudre mais le résultat est très facilement vérifiable. Une fois la solution trouvée, le mineur peut diffuser le bloc sur le réseau et obtenir une récompense de minage.
La Proof-of-Work en 4 étapes
- Les transactions sont regroupées : les utilisateurs de cryptomonnaies initient des transactions, qui sont regroupées dans un bloc
- Les mineurs entrent en concurrence : les mineurs de cryptomonnaies sont en compétition pour résoudre les calculs mathématiques complexes. En apportant la preuve de travail nécessaire à ce calcul, le mineur obtient le droit de traiter le bloc
- Un nouveau bloc est traité : le mineur gagnant traite le bloc de transactions et l’ajoute à la blockchain.
- Mise à jour de la blockchain : le nouveau bloc est ensuite distribué à tous les autres mineurs, qui conservent chacun une copie de la blockchain.
L’exemple de Hashcash sur Bitcoin
Hashcash est un algorithme conçu par Adam Back en 1997. C’est un procédé de preuve de travail qui est utilisé dans la blockchain de Bitcoin. Cet algorithme utilise ce qu’on appelle une fonction de hachage.
Le hachage cryptographique permet de générer une suite de caractères de longueur fixe (un hash) à partir d’un ensemble de données de n’importe quelle taille. Cet ensemble de données peut être un mot, une phrase, un texte ou encore un fichier entier.
La fonction de hachage utilisée sur Bitcoin est SHA-256.
À lire également : C’est quoi le hachage ?
Les fonction de hachages sont à sens unique, il est impossible de retrouver le message initial à partir du hash, même en comparant les hash de messages initiaux très semblables. Voici un exemple :
- « Cryptovore » 44e949ac4847a2844cd03f150f9bbab89f6cfdaebffbeede05eb38af3091a3db
- « cryptovore » 63050e967f727ea0ec32ea7174ec2e01fe274f4ae28aecce3e9a35fd360ba66d
- « cryptovore! » 2a5de6f45cc1d1dd12311a1f3fd3082283ad64bf97df40b6712518908577afdb
L’usage de Hashcash sur le réseau Bitcoin consiste en fait à retrouver le message initial à partir du Hash. Le hash commence avec un nombre de 0 déterminé. Plus il y a de zéros au début du hash et plus la difficulté est élevée.
Afin de retrouver le message initial à partir du Hash, les ordinateurs doivent tester des milliers de possibilités, ce qui demande un apport en énergie conséquent (la preuve de travail). Les solutions sont très difficiles à trouver, en revanche elles sont très facilement vérifiables ce qui rend ce procédé très utile et pratique.
Avantages et inconvénients de la Proof-of-Work
Les avantages de la preuve de travail
La preuve de travail présentent plusieurs avantages :
- Son utilisation par les cryptomonnaies populaires : le protocole de preuve de travail est utilisé par les monnaies numériques les plus connues et les plus importantes, notamment le Bitcoin et l’Ethereum.
- Sa haute sécurité : les importantes ressources informatiques requises par le protocole de preuve de travail rendent le réseau sûr.
- Les récompenses : les mineurs peuvent réaliser un bénéfice en validant avec succès de nouveaux blocs de transactions en cryptomonnaies et sont donc incité à continuer leur travail sur la blockchain.
- La participation au consensus est ouverte : les mineurs peuvent travailler sur la blockchain quand ils le souhaitent.
- La transparence : tout le monde est capable de reconstituer la blockchain depuis le premier bloc.
Les inconvénients de la preuve de travail
Les principaux inconvénients de la preuve de travail sont :
- Une forte consommation d’électricité : la preuve de travail nécessite une grande quantité d’électricité pour soutenir les activités de minage. Les mineurs revendent donc quasi-instantanément une partie de leurs récompenses pour couvrir ces frais, ce qui fait naturellement baisser le prix de la crypto.
- L’impact écologique : qui dit forte consommation d’électricité dit gros impact écologique. Certaines cryptomonnaies sont justement montrées du doigt pour ces raisons.
- La nécessité de matériel coûteux : pour réussir et réaliser des bénéfices, il est nécessaire d’acheter du matériel spécialisé coûteux.
- La difficulté pour les mineurs individuels : en raison des exigences sur le matériel nécessaire, les groupements de mineurs et sociétés de mining ont plus de chances de réussir
La différence entre Proof-of-Work et Proof-of-Stake
Le Proof-of-Stake (ou preuve de participation) a été créée en réponse aux problèmes et limites que rencontre la Proof-of-Work. C’est un protocole beaucoup plus récent et la différence fondamentale entre les deux protocoles est le processus de sélection du validateur (du mineur). Avec la Proof-of-Work, comme nous l’avons vu, le choix se fait par compétition avec le calcul d’un problème mathématique. Avec la Proof-of-Stake, il n’y a pas de compétition, les détenteurs de l’actif en question ont la possibilité de bloquer une partie de leur capital afin de participer directement à la validation des blocs.
La rémunération est également différente entre les deux protocoles. Avec la preuve de travail, les rémunérations se font par création de monnaie, alors qu’avec la preuve de participation les rémunérations proviennent des frais de transaction.
- Cantina Royale : Le nouveau P2EFree-To-Play sur la BLOCKCHAIN Elrond - juin 24, 2022
- Spring GAME – un GameFi innovant - mai 3, 2022
- Cours FRAX SHARE (FXS) - mars 29, 2022