Les cryptomonnaies occupent de plus en plus de place dans le système monétaire. L’aspect décentralisé fait de ces actifs en fait une véritable cible pour ceux qui comptent dépenser leur fonds en toute liberté. Cependant, il y a des limites concernant la sécurité liée au déplacement de fonds. Pour palier cela, les blockchains ont adopté le consensus proof of work afin de sécuriser le système et rendre plus sûres les transactions. Mais comment fonctionne le système proof of work ?
Proof of Work : Qu’est-ce que c’est ?
La proof of work en français preuve de travail, également appelée PoW, est un mécanisme de consensus utilisé dans la sécurisation des données cryptographiques. Elle est aujourd’hui adoptée par plusieurs cryptomonnaies. Pour accéder à la liste de ces cryptos, vous pouvez consulter la proof of work crypto list. Mais proof of work c’est quoi ? C’est exactement ce qu’on appelle une méthode de sécurisation du registre de la crypto-monnaie.
La proof of work a été le premier algorithme de consensus à faire surface. Il s’en est suivi d’autres, la Proof of Stake par exemple. Elle est introduite dans le livre blanc du Bitcoin depuis 2008 sous l’initiative de Satoshi Nakamoto. Mais la technologie elle-même a été conçue bien avant cette date.
En effet, le HashCash d’Adam Back est l’un des premiers exemples d’algorithme de proof of work bien avant l’époque des cryptomonnaies. L’informaticien avait mis en place un système obligeant les expéditeurs à effectuer de petits calculs avant d’envoyer un e-mail. Ce procédé vise à éviter les spams. L’idée était ainsi de limiter les spams en contrôlant les calculs. Dans ce contexte, cette méthode permet d’éviter les doubles dépenses. C’est ainsi que crypto monnaie proof of work a vu le jour.
Qu’est-ce que le mécanisme de consensus ?
Dans le système des monnaies numériques décentralisées, le mécanisme de consensus est le processus au cours duquel des réseaux de mineurs se mettent d’accord pour surveiller mutuellement l’état des différentes chaînes de bloc. Dans ce système, la base de données et les protocoles sont exploités par les crypto miners pour assurer la sécurité et l’unicité du réseau. Ce protocole de consensus incite tous les mineurs à respecter les différents paramètres de vérification et d’ajout de nouveaux blocs. L’objectif est de garantir la cohérence à tous les niveaux de la chaîne.
Le consensus proof of work est un mécanisme simple et fiable pour protéger les données de la blockchain contre les attaques. C’est un système simple à mettre en place. En termes clairs, vous rendez un service à la blockchain en échange d’une récompense. Actuellement, pour chaque bloc créé dans la blockchain Bitcoin, le mineur gagnant reçoit une récompense de 6,25 BTC. Pour plus de détails sur la blockchain Ethereum consultez proof of work ethereum.
Proof of work : Qu’est-ce qu’une double dépense ?
Une double dépense se produit lorsque les mêmes fonds sont dépensés plus d’une fois. Le terme était utilisé presque exclusivement dans le contexte de l’argent numérique. Après tout, vous auriez du mal à dépenser deux fois une monnaie fiduciaire (pièces et billets de banque). Lorsque vous payez un café aujourd’hui, vous remettez de l’argent liquide à un caissier qui l’enferme probablement dans une caisse enregistreuse. Vous ne pouvez pas aller de l’autre côté de la rue et payer un autre café avec la même pièce.
Dans les systèmes d’argent numérique, il est possible que vous le fassiez. Vous avez sûrement déjà dupliqué un fichier informatique – il vous suffit de le copier et de le coller. Vous pouvez envoyer le même fichier par courrier électronique à dix, vingt, cinquante personnes.
Étant donné que l’argent numérique n’est que des données, le système doit empêcher les gens de copier et de dépenser les mêmes unités à différents endroits. Sinon, la devise s’effondrera en un rien de temps. Proof of Work vient pallier ce problème. Mais est-ce une nécessité ?
Pourquoi la proof of work est-elle nécessaire ?
Dans le processus de minage de la technologie blockchain, les utilisateurs diffusent librement des transactions sur le réseau. Cependant, ces transactions ne sont pas immédiatement considérées comme valides. Cela ne se produit que lorsqu’elles sont ajoutées à la blockchain.
La blockchain est une grande base de données que chaque utilisateur peut consulter. Elle leur permet de voir et de vérifier si des fonds sont déjà dépensés. Les banques ont également ce système de vérification appelé le Grand livre. Mais à l’inverse, elles sont les seules à pouvoir vérifier les transactions. Dans la blockchain, chaque nouvelle transaction fait référence aux précédentes afin de suivre le parcours des jetons. De fait, il n’y a plus une possibilité de faire une double dépense, et le système est ainsi sécurisé.
Imaginez que vous et trois de vos amis avez un bloc-notes. Lorsque l’un d’entre vous effectue un transfert de pièces que vous utilisez, vous le mentionnez dans le bloc-notes. Ainsi, vous suivrez facilement le déplacement des jetons que vous échangez.
Maintenant, cela pourrait bien fonctionner dans un petit cercle d’amis. Tout le monde se connaît, donc ils se mettront probablement d’accord sur celui qui doit ajouter des transactions à la bloc-note. Mais, s’il s’agit d’un groupe de 50 000 participants ?
C’est là qu’intervient la proof of work. Elle incite les utilisateurs à dépenser uniquement l’argent dont ils disposent réellement. Avec à la clé, une exploitation des théories de jeux et des données cryptographiques, l’algorithme Proof of Work permet à quiconque de mettre à jour la blockchain selon les règles du système. Tout utilisateur devient alors un potentiel gestionnaire de bloc-notes dans la mesure où une transaction n’est validée que lorsque la précédente est vérifiée.
Comment fonctionne la Proof of Work ?
En général, le principe du protocole Proof of Work est de mettre en concurrence les utilisateurs afin de sécuriser le réseau. Contre une récompense, les mineurs mettent en place des ordinateurs sophistiqués pour suivre les déplacements de fonds et résoudre des énigmes mathématiques.
La blockchain met toutes les informations sur les transactions (montant, frais, destinataire, etc.) à la disposition des mineurs. Et ces derniers, avec la puissance de calcul élevée de leurs équipements, essayent de trouver une solution à l’énigme. Le premier à venir au bout de cette tâche génère un nouveau bloc que l’on intègre ensuite dans le réseau de vérification. Au terme de cette vérification, on ajoutera le bloc à la blockchain.
Mais en réalité, le processus de minage est beaucoup plus une loterie qu’une résolution d’énigmes. Au début, chaque mineur devine un nombre pour commencer, en vérifiant si la valeur de hachage résultante est inférieure à la cible spécifique à la blockchain. Bitcoin utilise pour cela l’algorithme SHA-256. En effet, SHA-256 est un algorithme qui génère un nombre de longueurs constantes. Bien entendu, c’est plus facile à dire qu’à faire. Une fois qu’un mineur trouve la valeur du nombre, on diffuse le résultat sur le réseau blockchain pour vérification. Le résultat est un rapport comportant :
- la valeur de hachage du bloc précédent ;
- les informations sur les transactions ;
- la racine Merkle de toutes les transactions du bloc.
Une fois notifiés, les autres mineurs du réseau vérifient si les configurations sont bonnes. Si c’est le cas, ils ajoutent le bloc à la blockchain. Et l’opération recommence à nouveau avec les nouveaux blocs. Il en est de même avec proof of work wiki.
Proof of Work : Un dispositif de contre piratage ?
Jusqu’ici tout va bien. Mais que se passe-t-il lorsqu’un utilisateur tente de tricher ? Qu’est-ce qui empêche un individu de mettre un tas de transactions frauduleuses dans le bloc et de produire un hachage valide ?
C’est là qu’intervient la cryptographie à clé publique. En bref, la blockchain utilise des astuces cryptographiques intéressantes qui permettent à tout utilisateur de vérifier si quelqu’un a le droit de déplacer les fonds.
Lorsque vous créez une transaction, vous la signez. Toute personne sur le réseau peut comparer votre signature avec votre clé publique et vérifier si elles correspondent. Ils vérifieront également si vous pouvez réellement dépenser vos fonds et que la somme de vos intrants est supérieure à la somme de vos extrants (c’est-à-dire que vous ne dépensez pas plus que ce que vous avez).
Tout blocage incluant une transaction invalide est rejeté automatiquement par le réseau. En essayant de tricher, vous gaspillerez vos propres ressources sans aucune récompense.
C’est là que réside la beauté du proof of work : il est coûteux de tricher, mais rentable d’agir honnêtement. Tout mineur rationnel recherchera un retour sur investissement, on peut donc s’attendre à ce qu’il se comporte de manière à garantir des revenus.
Quelles sont les difficultés rencontrées avec le consensus la proof of work ?
L’algorithme proof of work présente quelques inconvénients en raison du coût économique du maintien de la sécurité du réseau blockchain :
Consommation d’énergie
Le consensus proof of work qui utilise un réseau d’ordinateurs puissants pour sécuriser le réseau est extrêmement coûteux et énergivore. Les mineurs doivent utiliser du matériel spécialisé doté d’une capacité de calcul élevée pour effectuer le minage et obtenir des récompenses. Une grande quantité d’électricité est nécessaire pour faire fonctionner les nœuds de minage en continu. Certaines personnes prétendent également que ces calculs de hachage cryptographique sont inutiles, car ils ne peuvent produire aucune valeur commerciale. Fin 2018, le réseau Bitcoin à travers le Globe utilisait plus d’énergie que le Danemark.
Vulnérabilité
La proof of work est vulnérable à 51% d’attaques, ce qui signifie, en théorie, que les mineurs malhonnêtes pourraient obtenir une majorité de puissances de hachage et manipuler la blockchain à leur avantage.
Centralisation
Gagner un jeu de minage nécessite un matériel spécifié et coûteux, généralement une machine de type ASIC. Les dépenses deviennent ingérables et l’exploitation minière ne devient possible que pour un petit nombre de mineurs sophistiqués. La conséquence en est une augmentation progressive de la centralisation du système.
Proof of Work vs Proof of Stake : Que retenir ?
Il existe de nombreux algorithmes de consensus, mais l’un des plus utilisés est le Proof of Stake (PoS). Le concept remonte à 2011 et est mis en œuvre dans certains protocoles plus petits. Mais il n’a pas encore été adopté par de grandes blockchains.
Dans les systèmes de preuve d’enjeu, les mineurs sont remplacés par des validateurs. Il n’y a pas d’exploitation minière impliquée et pas de course pour deviner les hachages. Au lieu de cela, les utilisateurs sont sélectionnés au hasard. S’ils sont choisis, ils doivent proposer (ou « forger ») un bloc. Si le bloc est valide, ils recevront une récompense composée des frais des transactions du bloc.
Cependant, n’importe quel utilisateur ne peut être sélectionné. Pour être éligibles, les participants doivent verrouiller une somme de participation qui est un montant prédéterminé de la devise native de la blockchain. L’enjeu fonctionne comme une caution.
La proof of stake présente certains avantages par rapport à la proof of work. Le plus notable est la plus petite empreinte carbone. En fait, la proof of stake n’a pas besoin de fermes minières de grande puissance dans le PoS. L’électricité consommée n’est qu’une fraction de celle consommée dans le PoW. Cela dit, elle est loin d’avoir les meilleurs résultats de proof of work.
Même si cela paraît comme un gaspillage, l’exploitation minière est le seul algorithme de consensus qui a fait ses preuves à grande échelle. En un peu plus d’une décennie, il a sécurisé des milliards de dollars de transactions.
Conclusion
La proof of work est la solution originale au problème de la double dépense et s’est avérée fiable et sécurisée. Grâce à une utilisation intelligente de la cryptographie, des fonctions de hachage et de la théorie des jeux, les participants d’un environnement décentralisé peuvent se mettre d’accord sur l’état d’une base de données financière.