Auteur : Richard Red, contributeur de Decred.
Le mécanisme de consensus d’une blockchain permet de garantir qu’il existe un accord entre les participants sur l’état actuel de la blockchain. Le mécanisme de consensus détermine qui est en mesure d’ajouter de nouveaux blocs de transactions, et l’un de ses principaux objectifs est de garantir que la chaîne ne soit pas réécrite.
Consensus sur la preuve de travail
Les blockchains avec un consensus de preuve de travail pur (comme Bitcoin) ne peuvent avoir de nouveaux blocs ajoutés que par des mineurs, qui déploient du matériel capable de deviner efficacement la réponse à un problème mathématique. Chaque fois qu'un mineur fait une hypothèse valide, il peut construire un bloc que le réseau accepte. Alors que les mineurs peuvent choisir de miner n'importe quelle chaîne, le réseau n'acceptera que la chaîne avec la preuve de travail la plus accumulée (c'est-à-dire le plus de hachages ou d'hypothèses) comme chaîne légitime. Cela signifie que les mineurs sont incités à miner sur la chaîne la plus longue, et lorsqu'ils voient un nouveau bloc valide, ils essaieront de trouver la solution pour le bloc suivant qui leur permettra de construire sur le précédent.
La difficulté de réécrire la blockchain est ce qui lui permet de fonctionner comme un registre de transactions financières. Lorsqu'une transaction apparaît dans un bloc qui envoie des pièces à un portefeuille et que plusieurs blocs ont été construits au-dessus de ce bloc (confirmations), il devient peu probable que le bloc (et la transaction) soient réécrits.
Si une entité contrôle suffisamment de puissance de hachage pour dépasser la « chaîne honnête », elle peut réécrire (ou réorganiser) la blockchain en minant sur un « ancien » bloc plutôt que sur le dernier bloc. Voici un compte rendu simplifié de ce type d’attaque, également connue sous le nom d’attaque à 51 % :
L'attaquant dépense dans le bloc X en l'envoyant à un échange, puis commence à miner une chaîne parallèle en privé (les blocs ne sont pas diffusés sur le réseau). Une fois le nombre requis de confirmations écoulé, l'attaquant échange les pièces contre autre chose et retire cela de l'échange. Lorsque le retrait est effectué, ils libèrent la chaîne parallèle, et si elle a plus de PoW (blocs) que la chaîne d'origine, le réseau l'acceptera comme chaîne légitime et la version de l'historique représentée par la chaîne d'origine (y compris le dépôt de l'attaquant) disparaîtra. L'attaquant est alors libre de dépenser à nouveau ces pièces.
Les mineurs étant les seules entités à pouvoir ajouter directement des blocs à la chaîne dans les cryptomonnaies purement PoW, cela leur confère un rôle important dans la gouvernance. Pour que tout changement aux règles de consensus du réseau soit adopté, il doit avoir le soutien d’une majorité de la puissance de hachage. Les « soft forks » nécessitent qu’un nombre suffisant de mineurs reconnaissent un nouvel ensemble de règles afin que les utilisateurs puissent effectuer des transactions et s’attendre à ce que leurs transactions soient correctement traitées et incluses dans les blocs. Les « hard forks » diviseraient le réseau en deux composants, et selon la règle communément acceptée selon laquelle « la chaîne avec le plus de PoW est la bonne chaîne à suivre », les mineurs décideraient laquelle est acceptée comme légitime.
Consensus sur la preuve d'enjeu
Le consensus de preuve d'enjeu est une méthode alternative pour décider qui peut ajouter de nouveaux blocs et vérifier l'état actuel de la blockchain. Au lieu que les mineurs se disputent la résolution d'un problème, avec la preuve d'enjeu, le prochain producteur de blocs est déterminé par un processus basé sur le nombre de pièces détenues dans les portefeuilles (ou « mises en jeu »). Ce processus fait confiance à ceux qui ont le plus d'enjeu pour prendre des décisions responsables pour l'ensemble du réseau.
Le consensus de preuve d’enjeu élimine le besoin d’exploitation minière à forte intensité énergétique, mais l’absence de dépenses énergétiques significatives crée un autre problème, parfois appelé « rien en jeu ». Dans le cas d’une chaîne bifurquée, les forgerons de PoS (« forgeage » est généralement utilisé à la place de « minage ») sont incités à valider les blocs sur les deux chaînes, car cela leur coûte très peu de travailler sur une chaîne supplémentaire et ils peuvent collecter des récompenses sur les deux chaînes. C’est un problème pour le réseau car il n’est censé y avoir qu’une seule chaîne et se mettre d’accord sur l’état de cette chaîne unique est tout l’objectif du mécanisme de consensus.
La preuve d’enjeu présente un problème supplémentaire en ce qui concerne la distribution des jetons. Les mineurs PoW ont des coûts importants (matériel, électricité) et doivent généralement vendre une partie importante de leurs pièces minées pour couvrir ces coûts. En conséquence, de nombreuses pièces minées sont disponibles à l’achat sur le marché, plutôt que d’être thésaurisées par les mineurs. Les faussaires de la preuve d’enjeu ont des coûts opérationnels très faibles, ils n’ont donc pas la même pression pour vendre les pièces qu’ils reçoivent pour l’entretien du réseau. Les gros détenteurs qui s’engagent dans la preuve d’enjeu ont tendance à augmenter leur part des pièces en circulation à mesure qu’ils collectent des récompenses de bloc et des frais de transaction auprès des utilisateurs du réseau. Cela a été comparé au féodalisme, dans lequel le réseau est effectivement détenu et exploité par les détenteurs de pièces, et les utilisateurs leur paient une sorte de loyer pour l’utiliser. Il existe généralement une limite en dessous de laquelle il n’est pas possible de participer directement à la preuve d’enjeu.
PoW/PoS hybride
L’objectif des systèmes hybrides de preuve de travail et de preuve d’enjeu est de capturer les avantages des approches respectives et de les utiliser pour équilibrer les faiblesses de l’autre. Decred fait partie des rares crypto-monnaies à utiliser à la fois la preuve de travail et la preuve d’enjeu sous des formes reconnaissables et à les fusionner pour produire un mécanisme de consensus multifactoriel ou hybride.
Les « pièces Masternode » sont, dans un certain sens, également des hybrides, dans la mesure où elles possèdent un composant de preuve de travail reconnaissable qui joue un rôle similaire à celui de Bitcoin, et un rôle supplémentaire pour les nœuds spéciaux. Il est généralement exigé que ces nœuds spéciaux détiennent une certaine quantité de monnaie en garantie, afin de démontrer qu’ils peuvent être dignes de confiance pour agir dans le meilleur intérêt du réseau, ce qui est similaire à la justification de la preuve d’enjeu. Dash est la pièce Masternode originale et fait référence à ce modèle sous le nom de preuve de service. Cet article se concentre sur les hybrides avec un composant de preuve d’enjeu et ne prendra pas en compte la gamme de pièces qui émulent les masternodes ou la preuve de service.
Le composant PoW de Decred fonctionne de manière similaire aux autres projets basés sur PoW et utilise la fonction de hachage Blake-256. Le composant PoS de Decred, et la manière dont il est intégré à la chaîne, est assez unique et mérite d'être expliqué plus en détail.
Pour participer au Proof of Stake de Decred, les détenteurs doivent verrouiller leur DCR dans le temps pour acheter des « tickets ». Le prix d’un ticket individuel est fixé par un mécanisme de type marché par lequel le système vise un nombre défini de tickets actifs (40 960) - s’il y en a plus que le nombre cible, le prix augmente, s’il y en a moins, il baisse. Lorsqu’une personne achète un ticket, le DCR qu’elle a utilisé est verrouillé (c’est-à-dire qu’elle ne peut pas le dépenser) jusqu’à ce que son ticket soit appelé de manière pseudo-aléatoire pour voter, ou jusqu’à ce qu’il expire après environ 142 jours. Cela introduit un coût d’opportunité pour la PoS, destiné à garantir que les électeurs de la PoS ont leur mot à dire et agissent dans le meilleur intérêt du réseau.
Les participants au PoS (également appelés électeurs ou parties prenantes) ont trois rôles distincts à jouer : le vote en bloc, le vote sur les modifications des règles de consensus et le vote sur la gestion au niveau du projet à l'aide du système de proposition Politeia. Le premier de ces rôles, le « vote en bloc », est la manière dont les électeurs du PoS s'engagent le plus directement dans le maintien du consensus.
Vote sur les blocs
Lorsqu'un mineur PoW trouve un bloc valide, il le diffuse sur le réseau, mais pour que ce bloc soit considéré comme valide, il doit inclure des votes d'au moins 3 des 5 tickets sélectionnés au hasard. Les électeurs PoS gardent leurs portefeuilles ouverts et prêts à répondre avec des votes lorsque leurs tickets sont appelés (ou ils engagent des fournisseurs de services de vote pour le faire en leur nom). Lorsqu'un ticket PoS est appelé à voter et répond, son propriétaire reçoit une récompense.
Lorsque les tickets sont appelés, ils votent pour accepter ou rejeter les transactions régulières du bloc précédent. Les nœuds du réseau ne reconnaîtront pas un nouveau bloc comme valide tant qu'il n'inclura pas au moins 3 votes. Si une majorité des tickets appelés à voter rejettent les transactions du bloc précédent, elles sont alors renvoyées au mempool. Ces transactions régulières incluent la récompense du mineur PoW, mais pas la récompense des électeurs PoS.
Par conséquent, les électeurs PoS ont le pouvoir de retirer des récompenses aux mineurs sans affecter leurs propres récompenses. Cela limite le pouvoir des mineurs PoW d'opposer leur veto aux modifications des règles de consensus du réseau, qui sont votées par les parties prenantes. En fait, les électeurs PoS peuvent rejeter tout type de comportement des mineurs qu'ils n'apprécient pas en adoptant une politique de vote « non » lorsqu'un comportement malveillant ou inefficace est détecté, empêchant ainsi les mineurs PoW malveillants d'écrire des transactions et de recevoir des récompenses.
Cette couche de vérification PoS renforce considérablement la sécurité du réseau et sa résistance aux attaques majoritaires. La méthode courante pour mener une attaque à double dépense majoritaire consiste à réécrire la blockchain en minant une chaîne alternative en secret, puis en la libérant après un certain temps et en profitant de l'annulation des transactions dans l'« ancienne » chaîne (c'est-à-dire en dépensant deux fois leurs entrées). Étant donné que les blocs Decred nécessitent des entrées provenant de tickets sélectionnés au hasard pour être considérés comme valides et ne peuvent pas être développés par les mineurs PoW tant qu'ils n'ont pas reçu ces entrées, il n'est pas possible pour les mineurs PoW de miner en secret à moins qu'ils ne contrôlent également une proportion importante des tickets actifs (voir ces articles).
La conception hybride PoW/PoS augmente considérablement les coûts d'attaque du réseau car il existe deux systèmes distincts qui doivent être contournés par un attaquant. Le composant PoS, en particulier, est configuré de telle sorte que les tickets ne peuvent être acquis que très lentement. Un nombre limité de tickets peut être acheté dans chaque bloc/intervalle, et l'achat du nombre maximum entraîne une forte augmentation du prix. De plus, une fois ces tickets achetés, les fonds utilisés pour les acheter seront bloqués dans le temps, ce qui expose un attaquant à toute dévaluation de ses pièces bloquées résultant d'une attaque.
L’exigence selon laquelle chaque bloc doit être voté par des parties prenantes sélectionnées au hasard signifie que la blockchain doit être partagée avec tous les participants au fur et à mesure de son extraction, ce qui renforce la sécurité du réseau. Le système hybride de Decred a été conçu pour accorder également aux parties prenantes un pouvoir sur les mineurs PoW.
Vote par consensus pour changer les choses
Decred a décidé dès le départ de faire des parties prenantes de la PoS la force décisionnelle dominante dans la gouvernance de la blockchain. Les règles de consensus prévoient une procédure de ratification des mises à niveau par laquelle toute modification des règles de consensus du réseau ne peut être déployée qu'une fois passée par un processus de vote. Les modifications ne peuvent être apportées que si elles sont approuvées par au moins 75 % des votes. Ce processus commence une fois qu'une certaine proportion de mineurs (95 %) et d'électeurs (75 %) exécutent un logiciel mis à niveau avec des modifications latentes des règles. Si la proposition bénéficie d'un soutien de 75 % après une période de vote de 4 semaines, elle est acceptée, sinon, elle est rejetée, et si elle n'a pas de supermajorité, un nouveau vote commence. Si une proposition est acceptée, le changement de règle s'active un mois plus tard.

Gestion de projet : Politeia
Les récompenses de bloc de Decred sont réparties entre les mineurs PoW (60 %), les électeurs PoS (30 %) et un Trésor (10 %) pour financer le développement de logiciels open source qui favorisent les objectifs du projet. Les détenteurs de billets ont la souveraineté de voter sur la manière dont ce fonds doit être dépensé, sur les fonctionnalités à ajouter et sur la détermination de la politique via la plateforme Politeia.
Réflexions finales
Les électeurs PoS recevant 30 % de la récompense de bloc, ils ne peuvent pas maintenir leur part relative de DCR en circulation simplement en faisant du staking. La majorité des DCR nouvellement créés sont destinés aux mineurs PoW en échange du rôle qu'ils jouent dans la sécurisation du réseau et l'atténuation du problème du « rien en jeu » des systèmes PoS purs. Les mineurs devraient généralement vendre une partie importante des récompenses qu'ils reçoivent pour couvrir leurs coûts opérationnels, garantissant ainsi qu'un approvisionnement équitable en DCR soit disponible sur le marché.
La blockchain de Decred présente une architecture unique et constitue l'un des exemples les plus remarquables d'un système hybride PoW/PoS. De la même manière que les projets avec consensus PoS constituent un groupe général avec des variations importantes au sein de celui-ci, les futurs projets qui déploient des approches hybrides PoW/PoS seront également uniques et ne suivront pas nécessairement le cadre Decred.


