blockchain

À quoi servent les Proof Of Work et Proof Of Stake?

Avec la sortie prochaine de Casper, le projet Ethereum va commencer à remplacer le système de Proof Of Work par un algorithme appelé Proof Of Stake.

Mais à quoi correspondent ces algorithmes de Proof Of Work et Proof Of Stake? À quoi servent-ils exactement? Et pourquoi sont-ils si importants?

Dans l’article sur les piliers de la Blockchain, j’ai décrit les trois composants essentiels des systèmes de Consensus Distribué:

Imaginons un système sans Proof Of …

J’ai un réseau de machines connectées via le protocole peer to peer. Ces machines utilisent la Blockchain pour stocker et comparer les données.

Le nouveau Block se répand de participant en participant, comme un virus.

Mais que se passe-t-il lorsque plusieurs utilisateurs soumettent des transactions à des machines différentes?

Chaque machine va recevoir un block et le diffuser de proche en proche. Certains participant vont donc recevoir les deux Blocks.

La Blockchain repose sur l’idée qu’il n’existe qu’une seule CHAINE d’évènements.
Les machines à la frontière vont devoir faire un choix:

“Garder le block que je connais déjà”
Les machines contaminées ne changent plus jamais, le système se fige.

Accepter la nouvelle transaction:
Les machines contaminées changent d’avis dès qu’un participant leur propose un autre block. Le système se met à osciller et converge très lentement ou pas du tout.

Dans les deux cas, le réseau risque de ne jamais converger vers un consensus!

Systèmes Distribués, Pre-Blockchain

Ce qu’on a pour le moment, c’est un modèle classique de Système Distribué. On ne peut autoriser qu’un seul leader à émettre des modifications.

C’est une solution simple et fiable qui nous permet de ne pas avoir a gérer des modifications concurrentes sur la base de donnée.

Mais on doit pouvoir faire confiance à tous les membres du réseau pour accepter UN leader. Et être certain que chaque machine va transfèrer les modification de ce leader uniquement.

Les mots clé Leader Election et Master-Slave Replication signalent ce modèle semi-centralisé. Par exemple:

Dans un système décentralisé, on ne peut pas reposer sur les mêmes technologies. On ne connais pas tous les participants, ils peuvent se connecter, se déconnecter, tricher, etc.

C’est là qu’interviennent les Proof Of …

Les méthodes comme le Proof Of Stake ou Proof Of Work donne à chaque membre du réseau une recette pour accepter de nouveaux Blocks. Cette recette permet à chaque participant de prendre des décisions locales. Ils savent quel block garder, lequel diffuser ou quel block ignorer.

Ces règles locales vont faire converger le système globalement vers un nouveau consensus. Ces algorithmes vont permettre de choisir parmi les millions de blocks qui pourraient apparaître a tout moment.

Dans de futurs articles, on va creuser ces algorithmes. Le Proof Of Work est une pierre angulaire de la Blockchain. Et la Proof Of Stake est une manière intelligente de réimplementer les élections de leader.

Photo par Laura Kranz.

Published in: blockchain algorithms proof-of-work proof-of-stake convergence

comments powered by Disqus