Introduction
Le Proof of Work est le premier algorithme de consensus a avoir été lancé et demeure l'un des plus utilisés. Il a été introduit par Satoshi Nakamoto dans le livre blanc de Bitcoin en 2008, mais sa technologie a été conçue bien avant.
Le HashCash d'Adam Black est un exemple d'algorithme Proof of Work datant d'avant la création des cryptomonnaies. En demandant aux expéditeurs de réaliser un petit calcul informatique avant d'envoyer un e-mail, il serait facile de réduire le spam. Ce calcul ne coûterait pratiquement rien à un expéditeur légitime, contrairement à une personne envoyant des e-mails en masse.
Qu'est-ce que la double dépense ?
La double dépense se produit lorsque des fonds sont dépensés plusieurs fois. Ce terme est presque exclusivement utilisé dans le contexte d'argent numérique – il est en effet difficile de dépenser deux fois des pièces ou des billets. Lorsque vous payez un café, vous remettez de l'argent liquide au caissier qui sera ensuite verrouillé dans sa caisse. Vous ne pouvez pas vous rendre à un autre café et payer avec le même argent.
Néanmoins, dans le cas d'argent numérique, une telle possibilité existe. Dans votre vie, vous avez déjà dupliqué au moins un fichier informatique – il suffit d'un simple copier/coller. Vous avez ensuite peut être envoyé celui-ci par e-mail à dix, vingt ou même cinquante personnes.
L'argent numérique n'étant au final que des données, il est nécessaire d'empêcher les gens de pouvoir copier et dépenser les mêmes unités à différents endroits. Le cas échant, la monnaie s'effondrera en un rien de temps.
Pourquoi le Proof of Work est-il nécessaire?
Nous pouvons maintenant tracer les unités. Si Bob essaie d'effectuer une transaction avec les mêmes unités qu'il vient d'envoyer à Carol, tout le monde le saura. Le groupe refusera d'ajouter la transaction à son bloc-notes.
Cela pourrait surement fonctionner dans un petit groupe. Tout le monde se connait et se mettra probablement d'accord sur les amis devant ajouter des transactions au carnet de notes. Mais que se passe-t-il avec un groupe, cette fois-ci, de 10 000 personnes ? Le bloc-notes n'est pas adapté, personne ne voulant faire confiance à un étranger pour le gérer.
C'est là que le Proof of Work intervient. Celui-ci garantit que les utilisateurs ne dépensent pas de l'argent sur lequel ils n'ont aucun droit. En combinant la théorie des jeux avec la cryptographie, l'algorithme PoW permet à tous de mettre à jour la blockchain, en accord avec les règles du système.
Comment fonctionne le PoW ?
Notre bloc-notes ci-dessus est la blockchain. Néanmoins, au lieu d'ajouter les transactions une par une, nous les regroupons en blocs. Nous annonçons les transactions sur le réseau, puis les utilisateurs créant un bloc les incluront dans un bloc candidat. Les transactions ne seront considérées valides qu'une fois que leur bloc candidat deviendra un bloc confirmé, ce qui signifie qu'il a été ajouté à la blockchain.
Il est pratiquement impossible d'annuler le hachage d'un bloc pour obtenir les données en entrée. À l'inverse, en connaissant les données en entrée, il est très facile de confirmer que le hachage est correct. Il suffit de soumettre l'entrée à la fonction et de vérifier si la sortie est la même.
Dans le cas du Proof of Work vous devez fournir des données dont le hachage correspond à certaines conditions. Mais vous ne savez pas comment y arriver. Votre seule option est donc de passer vos données dans une fonction de hachage et de vérifier si le résultat correspond aux conditions. Si ce n'est pas le cas, vous devrez légèrement modifier vos données pour obtenir un hachage différent. Si vous changez ne serait-ce qu'un seul caractère dans vos données, vous obtiendrez un résultat totalement différent. Il n'y a donc aucun moyen de prédire le résultat.
En résumé, le minage est le processus consistant à rassembler les données de la blockchain et à les hacher avec un nonce jusqu'à ce que vous trouviez un hachage particulier. Si vous trouvez un hachage remplissant les conditions fixées par le protocole, vous obtiendrez le droit de diffuser le nouveau bloc sur le réseau. Les autres participants du réseau mettront à jour leur blockchain pour y inclure le nouveau bloc.
Pour les cryptomonnaies les plus importantes, ces conditions sont extrêmement difficiles à remplir. Plus le taux de hachage est élevé sur un réseau, plus il est difficile de trouver le bon hachage. Cela permet de s'assurer que les blocs ne soient pas trouvés trop rapidement.
Comme vous pouvez l'imaginer, tenter de deviner des quantités massives de hachages est très couteux pour votre ordinateur. En plus d'user votre matériel informatique, vous gaspillez de l'électricité. C'est pour cette raison que le protocole vous récompensera avec des cryptomonnaies si vous trouvez le bon hachage.
Récapitulons ce que nous savons jusqu'à présent :
- Participer au minage vous coutera beaucoup d'argent.
- Vous serez récompensé si vous produisez un bloc valide.
- En connaissant une entrée, un utilisateur peut facilement vérifier son hachage – les utilisateurs ne minant pas peuvent vérifier qu'un bloc est valide sans dépenser beaucoup de puissance de calcul.
Jusqu'à présent, tout va bien. Mais que se passe-t-il si vous essayez de tricher ? Qu'est-ce qui vous empêche d'introduire des transactions frauduleuses dans le bloc avant de produire un hachage valide ?
Tout bloc contenant une transaction non valide sera automatiquement rejeté par le réseau. Tricher vous coutera beaucoup d'argent. En plus de gaspillez vos ressources, vous n'obtiendrez aucune récompense.
Vous souhaitez vous lancer dans les cryptomonnaies ? Achetez du Bitcoin sur Binance !
Proof of Work vs Proof of Stake
Cela dit, le PoS est loin d'avoir le palmarès du PoW. Bien qu'il puisse être perçu comme énergivore à cause du gaspillage, le minage est le seul algorithme de consensus ayant fait ses preuves à grande échelle. En un peu plus d'une décennie, celui-ci a sécurisé plusieurs milliers de milliards de dollars de transactions. Pour affirmer avec certitude que le PoS rivalise en sécurité avec le PoW, le staking doit être correctement testé à grande échelle.
Pour conclure
Le Proof of Work était la solution originale au problème de double dépense et a depuis prouvé sa fiabilité et sa sécurité. Bitcoin a prouvé que nous n'avions pas besoin d'entités centralisées pour empêcher que des fonds ne soient dépensés plusieurs fois. Grâce à une utilisation intelligente de la cryptographie, des fonctions de hachage et de la théorie des jeux, les participants à un environnement décentralisé peuvent s'accorder sur l'état d'avancement d'une base de données financière.