Delegated Proof of Stake: la crypto-democratie

DPOS est une méthode de consensus qui a été imaginée par Daniel Larimer en vue de résoudre les principaux problèmes de centralisation, de rapidité et de déploiement des consensus de POW et POS.

Delegated Proof of stake
Share

Dans un réseau décentralisé la grande difficulté est de parvenir à mettre tous les membres d’accord sur la validité et sur l’ordre des transactions réalisées entre ces membres. C’est précisément ce qu’entendent résoudre les méchanismes de consensus. Depuis l’apparition du Bitcoin et du système du Proof of Work, de nombreux systèmes de consensus ont été développés en vue d’en améliorer les performances tout en les rendant plus “démocratiques”.

Le problème d’un système reposant sur le POW est qu’il conduit inévitablement à une course aux CPU puisque la difficulté d’ajouter un block à la blockchain est proportionnelle au nombre de mineurs intervenant sur le réseau. En clair, plus il y a de mineurs et plus il est difficile d’ajouter un block à la blockchain. Ainsi seul les mineurs capables d’augmenter les capacités de calcul de leurs systèmes peuvent espérer continuer à miner des blocks et recevoir la récompense leur permettant de rester rentable. La conséquence de cette course est que seule une poignée de fermes de minages et des pools de minages sont aujourd’hui en mesure d’ajouter des blocks à la blockchain Bitcoin ce qui engendre une forte concentration des capacités de calcul (« Hashing power » ou « pouvoir de hashage ») et donc le risque de voir apparaître une attaque des 51%. Autrement dit, une entité détenant une majorité du pouvoir de hashage décide unilatéralement de revenir sur les blocks ajoutés à la blockchain.

Avec le système de POS, chaque personne qui détient des intérêts dans le réseau sous forme de jetons ou de pièces, peut participer au processus de “mintage” des blocks (on parle de mintage à la place de minage dans le cas du POS) et ainsi être rémunéré. En pratique, seuls les membres disposant du plus de jetons peuvent prétendre ajouter des blocks à la blockchain ce que entraîne à nouveau des risques de concentration des capacités de mintage entre les mains d’un nombre restreint de membres du réseau. Il est en effet considéré que ce sont ceux qui ont le moins intérêt à ce qu’une attaque survienne puisque le prix des jetons s’effondrerait, les ruinant de la même manière.

Le système de consensus DPOS entend lutter contre la centralisation du processus que nous avons décrit pour le POW et POS. En effet, le fait de détenir un intérêt dans le réseau offre simplement de droit de voter pour des « Délégués » (101 dans la version initiale de système) chargés de valider les transactions et de les ajouter dans des blocks, travail pour lequel ils sont rémunérés.

Prenons un exemple pour mieux comprendre le fonctionnement du DPOS. Imaginons que le réseau utilisant le DPOS consensus est une démocratie. Chaque membre de ce réseau qui possède un jeton est un citoyen qui dispose d’un droit de vote. Chaque citoyen élit des députés (les Délégués) qui créent et tiennent à jours les lois de la démocratie et assurent son bon fonctionnement (validation et ajout des transactions aux blocks).

Dernière précision, non seulement les Délégués sont élus mais les membres du réseau ont le dernier mot sur toutes les modifications effectuées sur le protocole. Dans le monde merveilleux des crypto démocraties, les députés font donc un référendum avant de promulguer chaque loi.

élection des délégués
élection des délégués

L’Election

Le système de l’élection permet aux détenteurs de jetons de garder un contrôle sur les délégués qu’ils élisent tout en assurant que tous les pouvoirs sur le réseau n’est pas concentré dans les mains d’une minorité. 

Concrètement, si vous disposez de 10 jetons, vous pouvez voter pour 101 délégués avec un poids de 10 jetons pour chacun de vote. Comme avec le système du POS, plus vous possédez de jetons, plus votre impact (sur le vote et donc le choix des délégués) est important.

Si vous disposez d’un million de jetons par exemple, les délégués que vous choisirez recevront un support considérable qui assurera  surement leur élection.

Les possibilités d’abus « de position dominante » ont souvent été critiqué et ont donné naissance à des systèmes comme celui développé par Ark, où seulement 51 Délégués sont nommés et où le vote des membres est dégressif. En d’autres termes, le membre qui détient un million de jetons devra dorénavant les répartir parmi tous les Délégués, ce qui réduit considérablement son influence sur l’élection et donc sur le réseau.

Les créateurs du DPOS affirment au contraire qu’il serait beaucoup trop cher de réaliser une telle attaque et les membres malveillants auraient beaucoup trop à perdre.

Il existe une liste des délégués qui sont équipés techniquement et prêt à intervenir dans le processus de validation des transactions et des blocks du réseau. Ces délégués sont sélectionnés en fonction du nombre de votes qu’ils accumulent. Seuls les 101 premiers délégués participent au consensus et le nombre des délégués doit être impair pour limiter l’apparition de chaînes concurrentes.

Le vote pour les délégués s’effectue automatiquement par le client que vous aurez choisit, sauf si vous choisissez de voter par vous même. Ceux qui souhaitent devenir délégués doivent faire campagne pour convaincre les usagers de voter pour eux, en proposant par exemple de partager une partie de leurs dividendes ou en prouvant qu’ils disposent d’un équipement très performant. 

Lorsque des Délégués se présentent pour une élection, ils vont en effet généralement déterminer la façon avec laquelle ils vont repartir leurs gains. Si ils décident de conserver 80% de leurs gains, cela signifie qu’ils vont en “bruler” (“burn”) 20%. En d’autres termes, ils vont accepter d’éliminer 20% des jetons qu’ils auront reçus. En diminuant le nombre des jetons du réseau, ces délègues font en principe augmenter la valeur de chaque jetons et ainsi déverser une forme de dividende aux membres non-délégués qui les ont élu.

Le vote peut être pour ou contre ce délégué de telle sorte que si un délégué se comporte de façon malveillante en omettant d’ajouter des transactions dans un block par exemple, des votes négatifs pourront lui être alloués en vue de faire décroître son score. Si un délégué ne se trouve plus dans la liste des 200 premiers délégués ayant le plus de votes positifs, il pourra être remplacé.

Consensus
Consensus

Le Consensus

Chacun des Délégués sélectionné se voit attribuer un créneau horaire de 3 secondes durant lequel il doit ajouter un block à la blockchain.

Il est considéré que jusqu’à 1/3 des Délégués peut être malveillant puisque si pour chaque block ajouté par une minorité sur une chaîne concurrente deux autres seront ajoutés à la chaîne principale. Les blocks étant ajoutés selon le même principe que celui de la blockchain bitcoin, c-a-d à la plus longue, il est impossible pour une 1/3 ou moins de Délégués de conduire une attaque contre le réseau.

Les avantages

Les avantages souvent évoqués sont évidement qu’en déléguant la validation des transactions, les participants du réseau n’ont pas besoin d’être des noeuds complets (“full nodes”), ils n’ont donc pas l’obligation de télécharger l’ensemble de la blockchain mais disposent pourtant de frais et de rapidité de confirmation des transactions particulièrement intéressant. Ce point est important pour tous ceux pour qui le fait de “minter” des transactions sous le POS n’est pas rentable en raison du nombre insuffisant de jetons dont ils disposent ou tous simplement parce qu’ils ne leur est pas possible de maintenir un ordinateur connecte 24/7.

Bitshare 2.0 DPOS

La dernière version du Protocol développé par Bishare apporte quelques améliorations intéressantes au système du DPOS. Une nouvelle classe de délégués apparait, ce sont les « Témoins », qui effectuent les tâches initialement dédiées aux Délégués, c.a.d valider les transactions et minter les blocks. Les Délégués eux existent toujours, mais vont désormais administrer le réseau et en changer les paramètres quand c’est nécessaire.

Si nous reprenons notre exemple de la crypto-démocratie, les citoyens élisent des députés (les Délégués) qui créent et tiennent à jours les lois de la démocratie (le code du protocole). Les maires (les « Témoins »), également élus, ont pour mission d’assurer l’application concrète des règles (la validation des transactions et la création des blocks). Le processus d’élection des Témoins et des Délégués est le même que dans le version précédente (décrite plus haut).

Follow me on Social media
Share
Passionné depuis 2014 par les technologies liées à la blockchain, j'ai créé ce blog pour partager avec les plus grand nombre les dernières innovations, les start-ups et les Crypto-monnaies qui selon nous constituent une avancée significative pour cette industrie en pleine expansion.