Utilisation de la gouvernance Dash

La gouvernance décentralisée par blockchain de Dash (DGBB) est une plateforme novatrice de vote et de financement. Cette documentation présente et détaille la théorie et la pratique pour utiliser ce système.

Comprendre le processus

Introduction

  • La DGBB consiste en trois éléments : les propositions budgétaires, les votes et les budgets.
  • N’importe qui peut soumettre une proposition budgétaire en réglant des frais limités
  • Chaque masternode valide peut voter pour ou contre les propositions budgétaires, ou s’abstenir
  • Les propositions budgétaires approuvées deviennent des enveloppes budgétaires
  • Les enveloppes budgétaires sont payées directement depuis la blockchain aux propriétaires des propositions

Propositions budgétaires

  • Les propositions budgétaires sont une sollicitation de fonds
  • Les propositions budgétaires peuvent être soumises par n’importe qui, contre des frais de 5 dashs. Les frais de proposition sont détruits irrémédiablement au moment de la soumission.
  • Les propositions budgétaires ne peuvent pas être modifiées après soumission

Votes

  • Les votes sont exprimés au moyen de l’adresse de vote enregistrée
  • L’adresse de vote peut être déléguée à une tierce partie
  • Les votes peuvent être modifiés à tout moment
  • Les votes sont décomptés tous les 16616 blocs (tous les 30,29 jours environ)

Enveloppes budgétaires

  • Les enveloppes budgétaires sont des propositions qui ont réuni un total net de votes « oui » égal ou supérieur à 10% de tous les votes possibles (par exemple, 448 sur 4480)
  • Les enveloppes budgétaires peuvent être annulées à tout moment si le total des votes (exprimés ou ré-exprimés) tombe sous le seuil minimal d’approbation
  • Les enveloppes budgétaires sont traitées (payées) dans l’ordre du nombre de votes « oui » soustrait du nombre de votes « non ». Les enveloppes les plus populaires sont prioritaires pour le paiement.
  • Environ 6176 dashs (en 2018) sont disponibles pour chaque cycle budgétaire, avec une diminution de 7,14% tous les 210240 blocs (soit environ tous les 383,25 jours).

Structure d’objet

Les informations suivantes sont nécessaires pour créer une proposition budgétaire :

  • proposal-name : nom de la proposition, unique, 20 caractères ou moins
  • url : adresse web d’une page créée par le proposeur ou d’un billet de forum contenant des informations détaillées sur la proposition budgétaire
  • payment-count : nombre de cycles pendant lequel la proposition budgétaire sollicite un paiement
  • block-start : début sollicité pour les paiements de la proposition budgétaire
  • dash-address : l’adresse Dash où seront versés les paiements de la proposition budgétaire
  • monthly-payment-dash : le montant mensuel du paiement sollicité

Durée de vie

  • Les propositions budgétaires deviennent actives un jour après leur soumission
  • Les propositions budgétaires restent visibles sur le réseau jusqu’à ce qu’elles soient désapprouvées, ou bien à la fin du dernier cycle de la proposition
  • L’approbation a lieu lorsque le nombre de votes « oui » moins celui de votes « non » est égal à 10% ou plus du nombre total de votes possibles.
  • La désapprobation a lieu lorsque le nombre de vites « non » moins celui de votes « oui » est égal à 10% ou plus du nombre total de votes possibles.
  • Le nombre total de votes possibles est celui des masternodes en ligne et détectables. Il peut être connu par la commande masternode count dans la console de débogage du portefeuille logiciel Dash Core. Un graphique du nombre total de masternodes peut être consulté ici

Modèles

Les deux modèles Microsoft Word suivants sont mis à disposition par l’équipe Dash Core pour faciliter les soumissions et les mises à jour de propositions budgétaires standardisées. Son utilisation est recommandée mais n’est pas obligatoire.

Cycles budgétaires

Pendant la préparation d’une proposition budgétaire, soyez bien conscient de la date du début du prochain cycle, et organisez-vous selon elle. Il est recommandé de choisir un bloc de début de paiement de votre proposition qui soit éloigné d’au moins un cycle dans le futur, afin que le débat puisse avoir lieu ainsi que le rassemblement de vos soutiens et votes. Veuillez noter que les votes ne seront plus décomptés 1662 blocs (environ 3 jours) avant le « superbloc ».

Hauteur de bloc Date approximative
1212968 Thu Jan 30 02:38:52 UTC 2020
1229584 Sat Feb 29 09:43:54 UTC 2020
1246200 Mon Mar 30 16:48:56 UTC 2020
1262816 Wed Apr 29 23:53:58 UTC 2020
1279432 Sat May 30 06:59:00 UTC 2020
1296048 Mon Jun 29 14:04:02 UTC 2020
1312664 Wed Jul 29 21:09:04 UTC 2020
1329280 Sat Aug 29 04:14:06 UTC 2020
1345896 Mon Sep 28 11:19:08 UTC 2020
1362512 Wed Oct 28 18:24:10 UTC 2020
1379128 Sat Nov 28 01:29:12 UTC 2020
1395744 Mon Dec 28 08:34:14 UTC 2020

Le code source de ce calcul est disponible sur GitHub

Création de propositions budgétaires

Une fois que vous avez préparé le texte de votre proposition budgétaire et mis en place un site web ou un billet de forum, il sera temps de soumettre votre proposition budgétaire au vote, sur la blockchain. Toutes les tâches de création d’une proposition budgétaire peuvent être menées depuis la console du portefeuille logiciel Dash Core, mais plusieurs utilitaires avec une interface utilisateur ont été conçus pour simplifier cette procédure.

Générateur de proposition budgétaire Dash

Le générateur de proposition budgétaire Dash permet de créer des propositions budgétaires sur le réseau principal ou sur le réseau de test. À la première étape, vous devez saisir un nom bref, clair et unique pour la proposition, telle qu’elle apparaîtra sur la blockchain. Les noms de proposition budgétaire sont limités à 40 caractères. Vous pouvez ensuite fournir un lien vers le forum Dash ou vers DashCentral où votre proposition est décrite plus en détail (utilisez un service de raccourcissement d’URL si nécessaire), et vous devez indiquer le montant du paiement sollicité, le nombre de fois qu’il doit être versé, et la date du « superbloc » pour laquelle vous sollicitez le paiement. Cela vous permet de contrôler dans quel cycle budgétaire apparaîtra votre proposition, et cela vous donne un temps suffisant pour promouvoir votre proposition et familiariser les électeurs avec votre projet. Veuillez noter que le montant du paiement est fixé une fois pour toutes, et qu’il ne peut plus être modifié après soumission à la blockchain.

../_images/proposal-create.png
../_images/proposal-burn-prepare.png

Étapes 1 & 2 : Création de votre proposition budgétaire et préparation de la commande

Ensuite, le générateur de proposition budgétaire vous communiquera une commande à lancer dans la console de votre portefeuille logiciel Dash Core, pour préparer votre objet de gouvernance de proposition budgétaire. Lancer cette commande vous coûtera 5 dashs, lesquels seront « brûlés », c’est-à-dire retirés définitivement de la circulation. Ces frais perçus une seule fois protègent le système de gouvernance des attaques de spam, des propositions budgétaires manquant de sérieux, ou des utilisateurs malveillants. De petits frais de transaction sont également perçus, donc assurez-vous qu’un peu plus de 5 dashs soient disponibles dans votre portefeuille logiciel. Beaucoup de propositions budgétaires sollicitent le remboursement des frais de 5 dashs.

Déverrouillez d’abord votre portefeuille logiciel en cliquant sur le menu Réglages > Déverrouiller le portefeuille, puis ouvrez la console en allant sur Outils > Console de débogage et collez-y la commande générée. L’identifiant de transaction apparaîtra. Copiez-collez-le dans la fenêtre de réponse du générateur de proposition. Dès lors, le système affichera une barre de progression, dans l’attente de 6 confirmations, comme suit :

../_images/proposal-burn-console.png
../_images/proposal-burn-confirming.png

Étape 3 : Création de la transaction de proposition budgétaire et attente des 6 confirmations de l’identifiant de transaction

Une fois que les 6 confirmations de bloc ont eu lieu, une autre commande s’affichera pour soumettre l’objet de gouvernance préparé au réseau, en vue du vote. Copiez-collez cette commande, et votre identifiant d’objet de gouvernance apparaîtra comme suit :

../_images/proposal-submit.png
../_images/proposal-submit-console.png

Étape 4 : Soumission de l’objet de gouvernance au réseau

Vous pouvez utiliser cet identifiant pour suivre le vote sur la proposition budgétaire, jusqu’à ce que le cycle budgétaire se termine et que vous receviez votre paiement. Vous pouvez aussi soumettre l’identifiant à DashCentral pour revendiquer votre proposition budgétaire et activer le vote simplifié pour les masternodes, au moyen des services de vote de DashCentral.

Générateur de proposition budgétaire de DashCentral

DashCentral propose aussi un outil de création de propositions budgétaires, ou de revendication de propositions existantes afin que vous puissiez ajouter une description sur DashCentral et lancer le débat avec la communauté. Les étapes à suivre sont presque identiques à la procédure décrite ci-dessus, et la documentation est disponible ici.

Voter sur les propositions budgétaires

Vous devez voter au moins trois jours avant la création du « superbloc », sinon votre vote ne sera pas décompté. La limite précise est 1662 blocs avant le « superbloc ».

À noter que, si vous n’opérez pas de masternode, vous pouvez quand même voter sur des propositions DashBoost. Pour en savoir plus, voir https://www.dashboost.org .

Voter sur les propositions budgétaires du système de gouvernance décentralisée est un rôle important des opérateurs de masternode. Puisque les masternodes sont lourdement investis dans Dash, il est attendu qu’ils évaluent chaque mois les propositions budgétaires d’un œil critique, et qu’ils votent d’une façon correspondant aux meilleurs intérêts du réseau. Chaque masternode peut voter une fois sur chaque proposition budgétaire, et le vote peut être modifié à tout moment avant la date limite. Les sites et outils suivants sont disponibles pour visualiser et gérer les propositions budgétaires et le vote :

Pour savoir comment créer une proposition budgétaire, voir ici.

DashCentral

Beaucoup d’opérateurs de masternode stockent leur clé privée de masternode (protégée par mot de passe) sur DashCentral pour activer le vote simplifié depuis une interface utilisateur conviviale. La popularité de ce site en a fait un endroit habituel pour le débat sur les propositions budgétaires, après leur soumission au système de gouvernance. Pour voter depuis l’interface web DashCentral, ajoutez d’abord votre clé privée de masternode à votre compte, selon les instructions disponibles ici. Veuillez noter que la clé privée de masternode n’est pas la clé privée qui contrôle votre caution de 1000 dashs, il n’y a donc aucun risque de perdre votre caution. Un mot de passe distinct est obligatoire pour déverrouiller votre clé privée de masternode en vue de voter, donc le risque que le webmestre du site vote à votre place est très faible.

Quand vous êtes prêt à voter, allez sur la page des propositions budgétaires. Cliquez simplement pour afficher les propositions, puis cliquez selon votre choix sur Voter OUI, Voter ABSTENTION ou Voter NON.

../_images/vote-dashcentral.png

Interface de vote sur DashCentral

DashMasternodeTool (DMT)

Si vous avez démarré votre masternode depuis un portefeuille matériel au moyen de DashMasternodeTool (DMT), vous pouvez aussi utiliser cet utilitaire pour voter. Cliquez sur Outils > Propositions budgétaires et attendez le chargement de la liste des propositions. Vous pouvez facilement consulter l’état du vote sur chaque proposition budgétaire, et en sélectionner une affiche des détails dans l’onglet Détails de la partie inférieure de la fenêtre. Allez sur l’onglet Vote pour Voter Oui, Voter Non ou Voter Abstention directement depuis DMT.

../_images/vote-dmt.png

Interface de vote dans DMT

Portefeuille logiciel Dash Core ou masternode

Si vous avez démarré votre masternode en utilisant le portefeuille logiciel Dash Core (ce qui n’est pas recommandé), vous pouvez voter manuellement depuis le menu Outils > Console de débogage, ou directement depuis le VPS de votre masternode, via SSH, en utilisant la commande dash-cli. D’abord, cliquez sur la proposition budgétaire sur laquelle vous souhaitez voter, soit dans DashCentral, soit dans Dash Ninja. Vous verrez une commande de vote manuel sous la description de la proposition budgétaire. Copiez-collez la commande et modifiez-le selon vos besoins. En guise d’exemple, prenez cette proposition sur Dash Ninja (ou DashCentral). Le code de vote pour le portefeuille logiciel Dash Core est comme suit

gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding yes
gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding no
gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding abstain

Veuillez noter que, pour voter directement depuis votre masternode, vous devrez préfixer la commande avec dash-cli, utilitaire qui se trouve en général dans le répertoire .dashcore. La commande devrait ressembler à cela

~/.dashcore/dash-cli gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding yes
~/.dashcore/dash-cli gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding no
~/.dashcore/dash-cli gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding abstain

Veuillez noter que cette commande enverra un vote pour tous les masternodes configurés dans dash.conf. Si vous avez plusieurs masternodes disposant chacun de son propre fichier « .conf », ou si vous souhaitez voter seulement avec certains de vos masternodes, vous devez changer la commande vote-many en vote. Si votre vote s’est bien passé, vous devriez voir un message de confirmation disant Vote réussi.

../_images/vote-dashcore.png

Vote depuis la console de débogage du portefeuille logiciel Dash Core

Vous pouvez aussi afficher une liste des propositions budgétaires au format JSON depuis la console, afin de copier-coller l’empreinte de la proposition pour voter, comme suit

gobject list

Délégation de votes

Les masternodes DIP003 disposent d’une clé de vote distincte, ce qui rend possible de déléguer votre pouvoir de vote à un représentant. Saisissez simplement une adresse Dash fournie par votre délégué au moment de l’enregistrement de votre masternode, ou bien mettez à jour votre enregistrement de masternode pour déléguer le vote d’un masternode déjà existant. Le portefeuille qui contrôle la clé privée liée à cette adresse émettra alors des votes au nom du propriétaire du masternode, simplement en suivant la procédure de vote Dash Core décrite ci-dessus. Aucune autre configuration n’est nécessaire.