Tout sur le Bitcoin et les Altcoins

Tout sur le Bitcoin et les Altcoins

Qu’est-ce qui différencie la Preuve de Travail de la Preuve d’Enjeu ?

La Blockchain est considérée, à juste titre, comme une véritable révolution technologique comparable à ce que fut Internet en son temps. Satoshi Nakamoto, le mystérieux créateur de la Blockchain Bitcoin, peut être vu comme le père des crypto monnaies. Sa grande force ? Avoir conçu un système de monnaie virtuelle complètement décentralisé en Novembre 2008 au moment même où le Monde allait connaître une crise financière globale.

Son whitepaper définissant le Bitcoin en tant que système électronique de paiement P2P est à l’origine d’une véritable révolution qui a inspiré le marché des crypto monnaies que nous connaissons actuellement.

La révolution Blockchain

Au coeur de la révolution Bitcoin se trouve le concept ingénieux mais finalement étonnamment simple de Blockchain que nous avons implémenté dans "Créer sa propre Blockchain en Java". Au coeur de la Blockchain Bitcoin se trouve la notion de Preuve de Travail plus connue sous le nom de "Proof of Work" dans le monde Anglophone. Dans "La Blockchain pour les Nuls", nous avons expliqué que la Preuve de Travail est un mécanisme de consensus permettant à un réseau de noeuds communiquant en mode point à point de gérer des transactions de manière totalement décentralisée et distribuée tout en garantissant leur intégrité.

Blockchain en tant que BD Distribuée

La Blockchain Bitcoin aura rendu possible le transfert immédiat de fonds entre deux personnes à travers le monde sans besoin d’intermédiaire de confiance et le tout à frais réduits. La création du Bitcoin aura ouvert la voie à la naissance de nombreuses autres crypto monnaies depuis lors. Ces dernières étant regroupées sous l’appellation Altcoins pour Alternative Coins. Alors que nous sommes en 2018, la Blockchain Bitcoin va bientôt fêter ses 10 ans d’existence.

Naissance des Altcoins

Cette dernière décennie aura permis à la technologie Blockchain de gagner en maturité et désormais les Altcoins ne reposent plus obligatoirement sur le mécanisme de "Proof of Work" afin d’obtenir un consensus du réseau. Dans le but d’adresser certaines problématiques de ce dernier mécanisme, de nouvelles solutions ont été conçues avec chacune leur lot d’avantages et d’inconvénients. Parmi les autres algorithmes créés, la Preuve d’Enjeu, ou "Proof of Stake" dans la langue de Shakespeare, se révèle être une des solutions alternatives les plus populaires. Dans cet article, nous vous proposons de découvrir ce qui différencie ces deux mécanismes.

Altcoins

Preuve de Travail

De manière rudimentaire, la Preuve de Travail, peut être vue comme un moyen de dissuasion économique. En effet, dans la Blockchain Bitcoin, la "Proof of Work" va permettre de garantir que le coût en puissance de calculs nécessaire pour prendre le contrôle du réseau sera supérieur au bénéfice financier obtenu. En pratique, chaque bloc va devoir fournir un certain nombre d’informations nécessitant une puissance de calculs certaine lors de sa création. Bien entendu, cette puissance de calculs est consommatrice d’énergie.

Preuve de Travail

L’idée à l’origine de la Preuve de Travail ne date pas d’hier. Le concept a tout d’abord été présenté dans un article de Cynthia Dwork d’Harvard et de Moni Naor de l’Institut Weizmann en 1993. Le terme de "Proof of Work" n’ayant lui été formalisé qu’en 1999 dans un document de Markus Jakokbsson et Ari Juels. La première mise en pratique au niveau mondial fut réalisée par Adam Back avec son logiciel Hashcash au sein duquel la technique de la Preuve de Travail était employée pour limiter le spam et les attaques par dénis de service. Les utilisateurs de Hashcash devaient attacher la Preuve de Travail en tant que pièce jointe à leurs mails. De cette manière, les spammeurs et éventuels distributeurs de malwares furent dissuadés, économiquement parlant, d’envoyer des pourriels en masse.

Fonctions de Hachage Cryptographique au coeur du système

Dans notre article sur le minage de Bitcoins, nous avions vu que les fonctions de hachage cryptographique étaient au cœur du mécanisme de Preuve de Travail et donc de la Blockchain. Une fonction de hachage cryptographique va prendre une donnée en entrée et produire une sortie de longueur fixe. Cette sortie étant habituellement représentée par une chaîne de caractères au format hexadécimal. Ces fonctions sont déterministes ce qui signifie qu’en mettant plusieurs fois en entrée d’une fonction donnée la même chaîne de caractères, on obtient en sortie le même résultat à chaque fois. L’illustration suivante, proposée sur Wikipedia, donne un bon aperçu visuel de ce qu’est une fonction de hachage cryptographique.

Fonction de Hachage Cryptographique

Plus important encore, une fonction de hachage cryptographique présente l’insigne avantage d’être une fonction à sens unique. Elle peut ainsi être aisément calculée mais très difficilement inversée. Dans la littérature Anglaise, ces fonctions sont également appelées "Trapdoor functions".

Fonction à sens unique

Alors que le calcul du Hash d’une chaîne de caractères avec une fonction de hachage cryptographique se révèle très rapide, le calcul inverse s’avère très complexe et long. En effet, il n’existe rien de plus efficace qu’une approche systématique bête et méchante au cours de laquelle il sera nécessaire de tester toutes les combinaisons possibles en entrée de la fonction de hachage dans le but de retrouver la même sortie.

Comment fonctionne la Preuve de Travail ?

L’algorithme de la Preuve de Travail établit que pour qu’un objet puisse être considéré comme acceptable, il faudra trouver une valeur numérique qui soit telle que sa combinaison avec le reste des données dans une fonction de hachage cryptographique permette de produire un hachage qui soit en-dessous d’une valeur numérique donnée. La théorie peut sembler compliquée mais nous allons détailler cela en pratique en prenant pour exemple la Blockchain Bitcoin.

Le Bitcoin utilise la fonction de hachage cryptographique SHA-256 pour valider ses blocs de transactions. Pour les plus technophiles d’entre vous, nous vous invitons d’ailleurs à découvrir notre série d’articles détaillant la création d’une Blockchain en Java et notamment la première partie au cours de laquelle une implémentation d’une fonction permettant le minage des blocs est présentée. Dans le cadre du Bitcoin, les mineurs vont contribuer au réseau en validant les transactions qui sont donc regroupées au sein de blocs. Chacun de ces blocs nécessitant l’application du mécanisme de Preuve de Travail afin d’être considéré comme valide au sein de la Blockchain Bitcoin.

De manière simplifiée, nous pouvons dire qu’un bloc représente une liste de transactions entre des utilisateurs de la Blockchain. Le travail des mineurs se résumant à trouver un nombre, appelé "nonce", qui en étant ajouté à la fin de cette liste de transactions va permettre de produire une valeur de Hash commençant par un nombre de zéros donné. Bien entendu, plus grand sera ce nombre de zéros, plus grande sera la difficulté pour réaliser le minage de nouveaux blocs de la Blockchain.

Les fonctions de hachage cryptographique étant des fonctions à sens unique, il n’existe pas de meilleure solution qu’adopter une approche systématique pour trouver le bon nombre. Ce type d’approche systématique se révèle très coûteux en temps bien entendu mais également, et surtout, en énergie. Le nombre d’essais réalisés pour trouver le Hash correct, qui est plus connu sous le nom de "nonce", sera la preuve qu’une quantité d’énergie suffisante aura été allouée pour créer un bloc valide. On en revient donc à la définition rudimentaire de la Preuve de Travail exposée précédemment dans cet article.

Inconvénients de la Preuve de Travail

Au fur et à mesure que le nombre de Bitcoins en circulation augmente, la difficulté pour en valider de nouveaux augmente. Le temps de validation peut atteindre une heure complète et l’énergie nécessaire pour mobiliser suffisamment de puissance de calculs constituent des problèmes majeurs quant aux possibilités de scalabilité du mécanisme de Preuve de Travail. Les mineurs ne peuvent plus être de simples particuliers depuis belle lurette et ils doivent se regrouper au sein de gigantesques réseaux d’ordinateurs pour réaliser le travail de minage.

Créer un compte Coinbase

Lorsqu’un bloc est validé, les mineurs à l’origine de la validation vont toucher une récompense qui sera d’autant plus importante que la difficulté pour résoudre l’énigme de la Preuve de Travail est complexe. Les délais de validation et les frais de transaction sur la Blockchain Bitcoin n’ont donc eu de cesse de s’envoler depuis sa création. Pour faire face à ce problème, des ingénieurs spécialistes de la Blockchain ont imaginé des mécanismes de consensus adressant ces problématiques.

Preuve d’Enjeu

La Preuve d’Enjeu, ou "Proof of Stake", est un des mécanismes les plus populaires au sein des crypto monnaies actuelles qui ne reposent pas sur le Preuve de Travail. Il s’agit d’une manière différente d’atteindre un consensus en environnement distribué. Dans le cadre de la Preuve de Travail, les mineurs sont remplacés par des validateurs. Les validateurs sont sélectionnés en tentant compte du montant des jetons qu’ils possèdent (on parle de stake en Anglais) ainsi que de l’ancienneté des jetons qu’ils possèdent.

Preuve d'Enjeu

Si vous possédez 100 jetons d’une crypto monnaie basée sur la "Proof of Stake" dans un wallet, l’ancienneté associée correspondra à la durée depuis laquelle ces jetons sont stockés dans ce wallet. Si vous déplacez ces jetons vers un autre portefeuille (ou une autre adresse), l’ancienneté va donc redémarrer à zéro. Un validateur a donc d’autant plus de chance d’être retenu pour valider un bloc qu’il possède de jetons et que l’ancienneté de ces derniers est grande. On comprend donc que les validateurs sont choisis de manière déterministe dans le mécanisme de la Preuve d’Enjeu.

En procédant de la sorte, la Preuve d’Enjeu permet de construire un réseau distribué avec des pairs de confiance qui joueront le rôle de validateurs. Ces derniers vont être rétribués via la totalité ou une partie des frais de transaction. Il n’y a pas de récompense spécifique provenant du bloc validé et nouvellement ajouté à la Blockchain. Dans le cas de la "Proof of Stake", on parle donc de forgeage et non de minage lorsqu’un nouveau bloc est ajouté à la liste de blocs.

La Preuve d'Enjeu comme solution du futur ?

La Blockchain Ethereum, le concurrent le plus sérieux du Bitcoin, a ainsi commencer à migrer vers une validation des nouveaux blocs par la Preuve d’Enjeu. La plateforme fonctionne actuellement avec une approche hybride. De manière rapide, les avantages de la Preuve d’Enjeu en comparaison de la Preuve de Travail sont :

  • Une consommation d’énergie bien moindre
  • Un simple ordinateur exécutant le client de validation sera suffisant pour valider un nouveau bloc. Il n’est donc pas nécessaire d’avoir du matériel ultra performant et onéreux
  • L’ajout de nouveaux blocs ne nécessitant pas une puissance de calculs gigantesque, il n’est pas nécessaire d’offrir une récompense sur les blocs validés pour motiver les mineurs à effectuer ce travail
  • Les validateurs les plus loyaux (ceux possédant le plus de jetons depuis le plus longtemps) ayant le plus de chance d’être choisis, cela favorise la conservation des jetons à plus long terme et la volonté de sécuriser au maximum la Blockchain associée
  • Les délais de validation sont réduits ce qui donne de meilleures possibilités de scalabilité pour une adoption de la crypto monnaie associée à grande ampleur
  • Le risque de centralisation est également réduit comparé au mécanisme de Preuve de Travail ou des sociétés spécialisées se montent pour avoir des capacités de calculs phénoménales leur permettant de miner toujours de nouveaux blocs et donc d’avoir plus de récompense. Avec la Preuve d’Enjeu, les gains en frais de transactions restent équitables
  • Un réseau plus sûr dans l’absolu puisque si un hacker tentait d’acheter 51% du total des jetons en circulation, le marché réagirait en augmentant le cours du jeton de manière automatique

A la lecture des avantages de la Preuve d’Enjeu, il apparaît clairement qu’il s’agit de la solution du futur par rapport à la Preuve de Travail. Néanmoins, il y a toujours une différence entre théorie et pratique. Il faudra donc voir avec le temps si la Preuve d’Enjeu mise à l’épreuve ne révèle pas des inconvénients jusque-là non perçus comme majeurs ou bloquants.

Conclusion

La Preuve de Travail et la Preuve d’Enjeu représentent deux approches différentes dans le but d’atteindre un consensus au sein d’un réseau décentralisé et distribué. Ces deux approches s’amènent avec leurs avantages et leurs inconvénients, bien qu’actuellement, les avantages de la Preuve d’Enjeu semblent supérieurs à ses éventuelles faiblesses. La Preuve de Travail bénéficie, quant à elle, d’un retour d’expérience de près de 10 ans bientôt et a fait ses preuves sur un grand nombre de crypto monnaies.

Les problématiques de consommation d’énergie, de frais et de délais de transaction du Bitcoin par exemple poussent de plus en plus de crypto monnaies à se tourner vers la Preuve d’Enjeu ou à tenter d’innover en proposant de nouvelles approches comme le IOTA qui est une crypto monnaie atypique avec son Tangle. Seul l’avenir pourra nous dire si la Preuve d’Enjeu se révèlera supérieure à l’usage dans le temps et si elle saura prendre le pas sur la Preuve de Travail.

Preuve de Travail vs Preuve d'Enjeu

Votre avis sur la question nous intéresse, n’hésitez pas à venir argumenter en commentaires pour nous dire si vous pensez que la Preuve d’Enjeu constitue l’avenir des mécanismes de consensus ou si vous pensez que la Preuve de Travail restera dominante dans le futur.

Partager