DPOS et Système de vote d’ARK expliqués

zôÖma
ARK.io - France
7 min readMar 4, 2018

INTRODUCTION

ARK est construit pour utiliser un mécanisme de consensus connu sous le nom de DPoS (Delegated Proof of Stake). Bien que le DPoS existe depuis un certain temps, il n’a pas reçu le même niveau d’exposition que le Proof of Work (PoW) et le Proof of Stake (PoS). Nous souhaiterions profiter de cette occasion pour passer en revue le fonctionnement du système de délégués. Nous avons apporté certains changements au calcul du poids de vote et créé des développements supplémentaires que nous aimerions mettre en lumière et qui illustrent notre processus de réflexion concernant la délégation et la falsification.

DPoS a fait ses débuts vers 2014 dans le réseau Bitshares. Il a été créé par un groupe de développeurs dirigé par Daniel Larimer (vous le connaissez peut-être comme le co-fondateur de Steemit). Depuis le lancement du réseau Bitshares, il y a eu plusieurs ramifications du modèle de consensus DPoS original, principalement Crypti-DPoS, qui a ensuite été adopté par Lisk et est le même modèle qui sera au cœur du réseau ARK.

Lorsque l’on considère le DPoS comme un modèle consensuel, on peut différencier plusieurs différences majeures par rapport aux modèles traditionnels de PoW et de PoS. Imaginez DPoS comme une démocratie représentative dans laquelle les utilisateurs individuels utilisent leurs stakes dans le but de désigner des délégués pour servir en leur nom. Ces délégués sont ensuite responsables de la validation des transactions et de la sécurisation du réseau ARK. Dans ce système représentatif, les délégués reçoivent des frais de transaction et, dans certains cas, des tokens inflationnistes tels que ARK afin de couvrir les coûts d’exploitation et de garantir leur intérêt personnel dans la productivité et la sécurité du réseau. S’ils réalisent des performances médiocres dans leurs fonctions ou utilisent leur autorité d’une manière qui ne représente pas la volonté des électeurs, les votes peuvent être annulés et assignés à un nouveau représentant, assurant ainsi la sécurité du réseau.

Pour le modèle ARK DPoS, nous avons apporté plusieurs modifications à la mécanique du noyau. L’un de ces changements est le nombre d’utilisateurs pouvant être élus dans la délégation active. Dans Crypti-DPoS et dans le réseau Bitshares d’origine, ce nombre de délégués actifs était de 101. Afin de maximiser l’efficacité du réseau et de continuer à offrir des blocs et des rendements de pointe, nous commencerons avec une sélection de 51 délégués. L’abaissement du nombre de délégués, associé à notre système de routage et plusieurs autres améliorations du noyau selon la façon dont le réseau communique, a permis à notre équipe d’atteindre un réseau stable à un temps de 8 secondes et d’avoir au final des blocs aussi rapidement que 5 secondes grâce aux optimisations supplémentaires.

L’un des domaines dans lesquels nous avons constaté une marge de progression par rapport au modèle Crypti-DPoS était la façon dont le poids des votes a été calculé. Dans Crypti-DPoS et Lisk, le vote fonctionnait de la manière suivante:

  • L’utilisateur Alex a 100 tokens.
  • Alex peut voter pour 101 délégués avec un poids de 100 tokens assignés à chaque vote.
  • 100 tokens représente une petite quantité donc Alex a très peu d’influence.
  • L’utilisateur Kevin a 20 millions de tokens et se nomme aux 101 postes de délégué.
  • Kevin est une baleine menaçante.

Dans le scénario ci-dessus, la sécurité du réseau est seulement aussi solide que le pouvoir d’un seul membre pour pouvoir peser plus lourd sur le vote actuel des meilleurs délégués. Si le poids de vote le plus élevé des délégués est de 8%, l’utilisateur n’aura besoin que d’un poids de vote de 8,01% pour déplacer la totalité de la délégation. Traditionnellement, l’argument contre cela était qu’obtenir ce poids de vote serait très coûteux et qu’un utilisateur qui vient de dépenser une grosse somme d’argent pour amasser des tokens ne voudrait pas dévaluer ces tokens en attaquant ou en compromettant le réseau.

De notre point de vue, nous voulons minimiser autant que possible cette possibilité tout en donnant une plus grande d’influence aux utilisateurs. C’est pourquoi nous avons complètement réécrit la façon dont les votes sont comptabilisés dans notre version de DPoS. Voici un exemple de fonctionnement du vote dans ARK DPoS avec 51 délégués actifs:

  • L’utilisateur Alex a 100 tokens.
  • Alex peut voter pour 1 délégué avec un poids de 100 tokens assignés à ce délégué.
  • Alex peut également choisir de voter pour 2 délégués, mais chaque délégué ne recevra alors que 50% de son poids de vote.
  • Tant qu’Alex continue de voter pour des délégués supplémentaires, il réduit le poids qu’il apporte à chaque délégué proportionnellement au nombre de votes exprimés.
  • L’utilisateur Kevin a 20 millions de tokens. Kevin peut nommer son délégué assez facilement. Il peut même être en mesure de voter pour 2 de ses propres délégués, mais il a légitimement acheté 20 millions de tokens. Ce qu’il ne peut pas faire, c’est être assuré de nommer plus de 8 délégués avant que son poids ne soit trop dilué pour maintenir sa position.
  • Kevin est une baleine maîtrisée.

C’est une manière bien plus raisonnable de compter les votes et de maintenir la sécurité du réseau. En modifiant le mécanisme de vote et les calculs de poids, nous avons considérablement augmenté le coût d’une prise de contrôle hostile et réduit la fenêtre pour qu’une attaque se produise.

Un autre avantage du nouveau système de vote est qu’il permet à des comptes encore plus petits d’avoir de l’influence dans le système de vote. Comme chaque token ne compte que pour 1 vote, chaque token compte quand il s’agit de devenir un délégué actif. Cela crée l’environnement idéal pour la formation de pools de partage (profit-sharing pools) des bénéfices. Les membres de l’équipe ARK soutiennent non seulement cette idée, mais souhaitent aller plus loin.

L’équipe ARK publiera un script officiel de partage des bénéfices en open source complètement autonome si bien que chaque délégué potentiel pourra télécharger et être en mesure d’intégrer sa proposition pour les votes de ses délégués. Les paramètres de participation aux bénéfices seront négociables et joueront un rôle important dans la décision d’un utilisateur en particulier pour recevoir des votes de la communauté. Les utilisateurs seront en mesure de déterminer un pourcentage supérieur pour les propriétaires de pool, l’autre partie étant distribuée à ceux qui accordent des votes au pool de délégués. Il y aura différentes options dans l’utilisation du pool pour pouvoir calculer la contribution de vote de chaque utilisateur au fil du temps. De plus, les intervalles de temps pour les contributions varient selon le pool. Il appartiendra à l’électeur de prendre des décisions et se renseigner pour chaque vote qu’il effectuera.

Vous pouvez rechercher chaque délégué en allant sur notre forum sur le lien ci-dessous : https://forum.ark.io/category/5/delegates

Il y a une multitude d’autres options pour obtenir des votes pour votre délégué. Un nouveau type de crowdfund (financement participatif) qui semble prometteur est dans la possibilité de diriger un délégué avec l’intention de financer le développement de projets ayant leurs propres chaînes et tokens, avec des électeurs recevant une participation en capital dans ces projets en échange de leurs votes. Une autre façon d’attirer des votes est d’offrir des services communautaires sur des chaînes pour des applications qui ne sont pas rentables, mais dont les gens ont besoin. Il existe de nombreux services sur Internet que les gens ont l’habitude de recevoir gratuitement, mais qui compromettent gravement la vie privée. Ceux-ci peuvent être remplacés par des services sécurisés, privés et gratuits utilisés seulement dans l’intérêt des utilisateurs et financés par les délégués ARK.

Alors n’hésitez pas à faire une proposition sur le forum de ARK, mettez en place un nœud de délégué, et rejoignez notre slack pour tester vos chances. Ne soyez pas timide, la communauté ARK est là pour vous aider 24/7.

Website: https://ark.io
Slack: https://ark.io/slack

Traduit par Samouraï Coop — CastGurl x Antoine Breuil

ARK.io Espace FrancophoneArk

--

--

zôÖma
ARK.io - France

CEO & Founder @ Samouraï Coop — Co-Founder @ Paris P2P Festival — Ninja&Design @ Berty Technologies — I work hard to build future of cooperatives companies.