Introduction
Dans un système centralisé, une seule entité alimente et contrôle le réseau. Dans la plupart des cas, l'entité peut apporter des modifications comme bon lui semble – il n'existe pas de système de gouvernance complexe permettant à plusieurs administrateurs de parvenir à un consensus.
Dans un système décentralisé, c'est une toute autre histoire. Supposons que nous travaillions avec une base de données distribuée – comment faire pour se mettre d'accord sur les données à ajouter ?
Réussir à surmonter ce challenge dans un environnement où les participants ne se font pas confiance a peut-être été le développement le plus crucial qui a ouvert la voie aux blockchains. Dans cet article, nous verrons pourquoi les algorithmes de consensus sont essentiels au fonctionnement des cryptomonnaies et des registres distribués.
Algorithmes de consensus et cryptomonnaies
Satoshi Nakamoto, le créateur de Bitcoin a proposé le système du Proof of Work pour coordonner les participants. Nous verrons sous peu comment le PoW fonctionne – pour l'instant identifions certains traits communs aux nombreux algorithmes de consensus existants.
Types d'algorithmes de consensus
Preuve de travail (PoW)
Les données à la sortie ne permettent pas de déterminer celles à l'entrée. Il s'agit donc d'une fonction très efficace pour prouver que vous connaissiez une donnée depuis un certain temps. Vous pouvez donner son hachage à quelqu'un et lorsque vous révélerez les données, cette personne pourra les exécuter à travers la fonction pour s'assurer que la sortie est identique.
Pour les plus grandes blockchains, le niveau est très très haut. Pour rivaliser avec les autres miners, vous devez disposer d'un entrepôt rempli d'ASIC, un matériel spécifiquement conçu pour augmenter vos chances de produire un bloc valide.
Il est très simple pour le réseau de vérifier que vous avez créé le bon bloc. Une seule exécution avec la fonction permet de vérifier le fruit de vos nombreux essais. Si vos données produisent un hachage valide, il sera accepté et vous recevrez une récompense. Sinon, le réseau invalidera celui-ci et vous aurez perdu du temps et de l'électricité pour rien.
Preuve d'enjeu (PoS)
Vous devrez ensuite verrouiller vos fonds dans un portefeuille (ils ne peuvent pas être déplacés lorsque vous stakez). Vous vous mettrez généralement d'accord avec les autres validateurs sur les transactions qui passeront dans le bloc suivant. Dans un sens, vous pariez sur le bloc qui sera sélectionné et le protocole décide du reste.
En général, les monnaies nouvellement créées ne font pas partie des récompenses des validateurs. La monnaie native de la blockchain doit donc être émise d'une manière différente. Cela peut se faire via une distribution initiale (ex. : une ICO ou une IEO) ou par l'utilisation du PoW au début du protocole avant sa transition vers le PoS.
À ce jour, le Proof of Stake pur n'est employé que par des petites cryptomonnaies. Par conséquent, il n'est pas certain qu'il puisse servir d'alternative viable au PoW. Bien que cela semble théoriquement valable, il en sera tout autrement dans la pratique.
Une fois le PoS déployé sur un réseau avec une grande quantité d'informations, le système devient un terrain parfait pour les incitations financières et la théorie des jeux. Quiconque dispose du savoir-faire nécessaire pour « pirater » un système PoS ne le fera que s'il est possible d'en tirer parti – c'est pourquoi le seul moyen de savoir si c'est possible est de tenter directement sur le réseau.
Types d'algorithmes de consensus
Le Proof of Work et le Proof of Stake sont les algorithmes de consensus les plus courants. Mais il en existe évidemment de nombreux autres, possédant tous leurs avantages et leurs inconvénients. Consultez les articles suivants :
- Le Delayed Proof of Work expliqué
- Le consensus Leased Proof of Stake expliqué
- Le Proof of Authority expliqué
- Le Proof of Burn expliqué
- Le Delegated Proof of Stake expliqué
- Le consensus Hybrid PoW/PoS expliqué
Pour conclure
Les mécanismes pour obtenir un consensus sont vitaux pour le fonctionnement des systèmes distribués. Nombreux sont ceux estimant que la plus grande innovation du Bitcoin est l'utilisation du Proof of Work pour permettre aux utilisateurs de se mettre d'accord sur un ensemble partagé de faits.
Les algorithmes de consensus sous-tendent aujourd'hui non seulement les systèmes de monnaie numérique, mais aussi les blockchains, qui permettent aux développeurs d'exécuter du code sur un réseau distribué. Ils constituent une pierre angulaire de la technologie blockchain et sont essentiels à la viabilité à long terme des différents réseaux existants.
De tous les algorithmes de consensus, le Proof of Work reste toujours le plus utilisé. En effet, une alternative plus fiable et sécurisée n'a pas encore été proposée. Cela dit, il y a énormément de recherche et de développement pour remplacer le PoW et il est fort probable que nous verrons émerger davantage de consensus dans les années à venir.